Prevent mapState from running twice when component is bound #196
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.
First, there's high probability this pull request is actually wrong and there's some fundamental thing in React / Redux that I violate by the proposed change given there are multiple unit tests which codify current approach. I still think there's some problem with it, though, so I appreciate if you look into this!
I'm trying to prevent the
mapState
function from being called twice on each initial render of a "connected component" - first in the constructor and then right after that inshouldComponentUpdate
wherestateProps
are recomputed because of difference in store state (as initially stored store state is always null). This second call can be avoided by simply initializingthis.state.storeState
with current store state during construction.Is this a viable solution? If not, is there some other way of preventing
mapState
to be called twice even though the state itself hasn't changed in between those two calls?