我遇到这个问题,我需要在两个页面上重用此组件。有一些配置变量可能会影响它的行为方式。我现在在做的是
<Component config={config} />
每页上有不同的配置。该组件也连接到商店。后来我发现在reducer中处理的一个事件需要知道配置。
存储配置的最佳方法是什么?我应该为reducer使用多个initialState,并在商店的两个不同位置为每个页面重用reducer,如下所示。
combineReducers({
page1Widgets: {
Component: reducer
},
page2Widgets: {
Component: reducer
}
})
const initialStateByPage = {
path1: ...,
path2: ...
}
function reducer(state, action) {
if (state == null) {
state = initialStateByPage[location.pathname];
}
}
这样做的好方法是什么?