реаги-редукс 6.0
В1: мне было интересно, когда будет верно в lastState === state
, если состояние не изменится, я думаю, что оно не будет вызывать setState
в Provider.js
Q2: за исключением первого раза, в этом случае значение будет истинным в store !== lastStore
Provider.js
this.setState(providerState => {
// If the value is the same, skip the unnecessary state update.
if (providerState.storeState === newStoreState) {
return null
}
return { storeState: newStoreState }
})
})
connectAdvanced.js
return function selectDerivedProps(
state,
props,
store,
selectorFactoryOptions
) {
if (pure && lastProps === props && lastState === state) {
return lastDerivedProps
}
if (
store !== lastStore ||
lastSelectorFactoryOptions !== selectorFactoryOptions
) {
lastStore = store
...
}