Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 创建存储后添加更多还原剂_Javascript_Redux - Fatal编程技术网

Javascript 创建存储后添加更多还原剂

Javascript 创建存储后添加更多还原剂,javascript,redux,Javascript,Redux,是否可以在创建存储后添加减速机 例如: 假设我有这个react应用程序 //App.jsx const reducers = {foo : []} const store = createStore(combineReducers(reducers)); const App = () => <Provider store={store}><Test/></Provider> 我想知道这是否可能,如果可能,如何实现这一点 我心里有个主意,但并不完美。我

是否可以在创建存储后添加减速机

例如: 假设我有这个react应用程序

//App.jsx
const reducers = {foo : []}
const store = createStore(combineReducers(reducers));

const App = () => <Provider store={store}><Test/></Provider>
我想知道这是否可能,如果可能,如何实现这一点

我心里有个主意,但并不完美。我可以添加一个全局回调函数,监听根组件上的任何调用,然后在任何调用发生时重新创建存储。这个问题将导致整个组件树在任何添加减速器时被重新命名


是的,有可能是这样的事情

const newRootReducer = combineReducers({
  existingSlice: existingSliceReducer,
  newSlice: newSliceReducer
})

store.replaceReducer(newRootReducer)

你可以查看文档了解更多信息

我不得不问:你为什么要这样做?在开发过程中,存储通常与代码紧密相连。任何动态添加的减缩器在编码过程中都不可用。@pintxo我正在尝试构建一个小型库,我认为在创建存储后可能需要添加新的减缩器。我还没有写任何代码,只是想办法实现这个库。所以我想知道这是否可能。
const newRootReducer = combineReducers({
  existingSlice: existingSliceReducer,
  newSlice: newSliceReducer
})

store.replaceReducer(newRootReducer)