Почему горячая перезагрузка отлично работает для редукторов, даже если она не включена в методе configureStore? - PullRequest
0 голосов
/ 11 июля 2020

Сегодня я прочитал о функции hot-reload (HMR), предоставляемой webpack, и о том, как включить ее в React.

Вариант 1

if (module.hot && process.env.NODE_ENV !== 'production') {
    module.hot.accept();
}

Кроме того, во многих местах я читал это включить его для reducers, нам нужно написать код в методе configureStore приложения.

Option2

const configureStore = () => {
  const store = createStore(rootReducer)

  if (process.env.NODE_ENV !== "production") {
    if (module.hot) {
      module.hot.accept('./reducers', () => {
        store.replaceReducer(rootReducer)
      })
    }
  }

  return store
}

Однако, когда я попробовал эту функцию в своем проекте и пропустил Вариант 2 и использовал только вариант 1. Я обнаружил, что мое приложение выполняет горячую перезагрузку для всех действий. Я не мог понять необходимость / важность второго кода, то есть варианта 2.

Мне здесь не хватает ключевой концепции? Пожалуйста, проведите меня сюда. TIA

...