реакция-редукса connectAdvanced.selectDerivedProps () проблема обновления - PullRequest
0 голосов
/ 08 февраля 2019

реаги-редукс 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
          ...
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...