Reactjs 清除Redux撤消历史记录
我们如何清除redux历史记录?我已经让撤销和重做完美地工作了,但是由于某种原因,当我以相同的格式清除历史记录时(我也在initTypes中尝试过),它没有工作 我的可撤消的减速器:Reactjs 清除Redux撤消历史记录,reactjs,redux,Reactjs,Redux,我们如何清除redux历史记录?我已经让撤销和重做完美地工作了,但是由于某种原因,当我以相同的格式清除历史记录时(我也在initTypes中尝试过),它没有工作 我的可撤消的减速器: const allReducers = combineReducers({ activeUser: activeUser, activeBrochure: undoable(activeBrochure, { limit: 20, undoType: "BRO
const allReducers = combineReducers({
activeUser: activeUser,
activeBrochure: undoable(activeBrochure, {
limit: 20,
undoType: "BROCHURE_UNDO", // define a custom action type for this undo action
redoType: "BROCHURE_REDO", // define a custom action type for this redo action
clearHistoryType: "CLEAR_BROCHURE_HISTORY" // [beta only] define custom action type for this clearHistory action
}),
});
我的行动:
export const rerender = () => { return { type: "RERENDER_BROCHURE", payload: null } }
export const createNewBrochure = () => { return { type: "CREATE_NEW_BROCHURE", payload: null }; }
export const clearBrochureHistory = () => {
console.log("Action: Clear Brochure History!");
return { type: "CLEAR_BROCHURE_HISTORY", payload: ActionCreators.clearHistory }; }
export const brochureUndo = () => { return { type: "BROCHURE_UNDO", payload: null } }
export const brochureRedo = () => { return { type: "BROCHURE_REDO", payload: null } }
部件接线:
function mapStateToProps(state) {
return {
activeUser: state.activeUser,
activeBrochure: state.activeBrochure.present,
brochureHistory: state.activeBrochure.past
}
}
function matchDispatchToProps(dispatch) {
return bindActionCreators({
selectUser: Action.selectUser,
createNewBrochure: Action.createNewBrochure,
clearBrochureHistory: Action.clearBrochureHistory,
selectBrochure: Action.selectBrochure,
deleteBodyPage: Action.deleteBodyPage,
brochureUndo: Action.brochureUndo,
brochureRedo: Action.brochureRedo
},
dispatch);
}
export default connect(mapStateToProps, matchDispatchToProps)(NavigationBar)
我的组件JSX:
{
//单击是函数
this.setState(更新(this.state,{askNewBrochure:{$set:false}}));
if(window.location.href.indexOf(“手册编辑器”)<0){
hashHistory.push(“/brochureBuilder”);
}
这个.props.ClearBrochreHistory();
设置clearHistoryType
应该可以正常工作-确保您使用的是最新的测试版redux undo(beta9-3
),因为此功能在以前的版本中没有实现。同时确保类型相同(看起来是这样,但您可能希望使用常量而不是普通字符串)。如果它仍然不起作用,如果你能建立一个小的github repo来重现这个问题,那就太好了。顺便说一句:payload
do做什么?payload是传递给reducer的数据,而type是字符串键应该钩住reducer以根据所说的数据输入创建一个新的状态。我将尝试确保类型,如你所说,是sa我来看看发生了什么设置clearHistoryType
应该可以正常工作-确保您使用的是最新的测试版redux undo(beta9-3
),因为此功能在以前的版本中没有实现。还要确保类型相同(看起来是这样,但您可能希望使用常量而不是普通字符串)。如果它仍然不起作用,如果你能建立一个小的github repo来重现这个问题,那就太好了。顺便说一句:payload
do做什么?payload是传递给reducer的数据,而type是字符串键应该钩住reducer以根据所说的数据输入创建一个新的状态。我将尝试确保类型,如你所说,是sa让我看看会发生什么
//CLICK YES FUNCTION
this.setState(update(this.state, { askNewBrochure: { $set: false } }));
if (window.location.href.indexOf("brochureBuilder") < 0) {
hashHistory.push("/brochureBuilder");
}
this.props.clearBrochureHistory();