You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am writing a higher-order function as a helper for writing selectors on a Redux Toolkit slice and I'm wondering if it makes sense to use reselect here or not.
Here is how that might look with and without using createSelector:
Pros: In V2 the subSelector function would not get re-evaluated at all if there are changes to other slices but not to state.mySlice.
Cons: There is maybe some overhead associated with the memoization and caching?
subSelector here would be a simple selector that just accesses data from the state and does not transform it. I would then use the resulting selector as an input selector to createSelector in other places.
The goal is simply to save me from having to write state: RootState and state.mySlice everywhere when I am defining a whole bunch of selectors.
I don't think there's going to be any harm in using Reselect here, if that's what you're asking. But also not sure if there's going to be much benefit either.
It’s going to be very slightly slower to use reselect unless you have non trivial selectors eg if the selector
Creates a new instance and non value type each time - then it will only be recreated if myslice changes so a simple reference check on the created item may lead to performance improvement (if you use react redux for instance)
The selector returns a value type and the function is more complex than a loop to 1 and some equality comparisons and a extra function call
I am writing a higher-order function as a helper for writing selectors on a Redux Toolkit slice and I'm wondering if it makes sense to use
reselect
here or not.Here is how that might look with and without using
createSelector
:Pros: In V2 the
subSelector
function would not get re-evaluated at all if there are changes to other slices but not tostate.mySlice
.Cons: There is maybe some overhead associated with the memoization and caching?
subSelector
here would be a simple selector that just accesses data from the state and does not transform it. I would then use the resulting selector as an input selector tocreateSelector
in other places.The goal is simply to save me from having to write
state: RootState
andstate.mySlice
everywhere when I am defining a whole bunch of selectors.I can write:
Instead of:
The text was updated successfully, but these errors were encountered: