首页 > 解决方案 > 为什么 createStore 调用每个 reducer 3 次?

问题描述

我有 Redux,我注意到 createStore 调用每个 reducer 3 次,为什么?

// pageReducer.js
const initialState = {
  year: 2020,
  events: [],
};

const pageReducer = (state = initialState, action) => {
  console.log(state); //spy for reducer
 
  return { ...state }; 
};
// rootReducer.js
export default combineReducers({ page: pageReducer });
const store = createStore(rootReducer));

const App = () => {
  const page = useSelector((store) => store.page);
  return (
    <Provider store={store}>
      <div>{page.year}</div>
    </Provider>
  );
};

我在控制台中看到,createStore()combineReducers()调用了pageReducer()3 次。

为什么?为了什么?我认为创建全局状态和设置初始状态,但是 3 次...

标签: reactjsredux

解决方案


推荐阅读