Updated typescript to 2.1v. Improved type for combineReducers function. #2700
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.
Hi everybody. Here is my proposal: let's update Typescript version from 1.8 to 2.1 and use the strength of awesome
keyof
feature, that let us restrict fields of our redux state.The current problem is: we can pass almost everything to
combineReducers
and Typescript will not complain about anything. It will lead to poor user experience and make us to check the correctness of the state ourselves. Although there is a way to tell Typescript how check all fields that we pass tocombineReducers
—keyof
. It is supported only from Typescript 2.1, so I have updated its version, rewrote the typings and updated the tests forcompose
. The examples below demonstrate the idea quite well:Hope it will be usefull pull request for community and looking forward for your feedback. Thank you!