Allow es6 symbols to be used as action types #295
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Symbols are a good way to prevent naming collisions of action types.
However, if you attempt to use a symbol as an action type,
getErrorMessageinsidecombineReducerswill throw an error on line 13 because symbols can't be implicitly converted to a string. I can reproduce this in at least Chrome and Firefox.Strangely enough, I could not reproduce this in the tests -- it looks like babel is implicitly converting the symbol to a string, contrary to the es6 spec as I understand it. I added a test anyway to verify the use case.
I understand Redux probably wasn't designed to be used with symbols as action types, but this seems like an easy way to add support for them.
I'm also open to other solutions or workarounds.