假设我具有以下状态: MAIN_MENU,PLAY,DIFFICULTY。
状态之间的流是这样的:
MAIN_MENU-> DIFFICULTY (可以通过单击按钮从Main Menu转到Difficulty)
MAIN_MENU->播放(您可以通过点击按钮从主菜单转到播放)
困难-> MAIN_MENU (您可以通过单击按钮从“困难”进入“主菜单”)
PLAY-> MAIN_MENU (您可以通过点击按钮从“播放”进入主菜单)
我想我需要以下减速器:
export const status = createReducer(MAIN_MENU, {
[TO_PLAY]() {
return PLAY;
},
[TO_DIFFICULTY]() {
return DIFFICULTY;
}
});
但是,当我尝试回到 MAIN_MENU 状态(来自 PLAY 或 DIFFICULTY )时,我遇到了麻烦
我有一个传递给render
的Game组件,它执行以下操作:
export default function Game (props) {
const {status} = props;
if(status == MAIN_MENU){
//logic
}
单向一切正常。但是当我尝试返回 MAIN_MENU 时,情况很复杂。
如何正确执行? (我的解决方案是:尝试扩展status
const(但是,它必须具有其他初始状态,并且其类型为const),如果在Game组件中创建另一个)。我觉得我做错了。