如何从Redux商店中删除Board-React js,redux

时间:2018-06-09 17:44:27

标签: reactjs redux

这里我通过点击按钮创建新的电路板,一旦我进入电路板页面我就可以选择创建新的小部件

如果用户没有创建新窗口小部件并单击“回溯”按钮,则不应创建板

这里的电路板正在创建,我能够看到没有保存的电路板,

如果我刷新页面板没有看到。

如果点击回到棋盘按钮,我可以得到一些关于如何防止创建棋盘的建议

点击返回下面的功能将被称为

回到董事会

manageShowBoard = (selectedBoard) => {
this.setState({ selectedBoard });
};

2 个答案:

答案 0 :(得分:1)

首先,你必须传递selectedStoryboard作为行动的有效载荷,然后简单地说:

case types.REMOVE_STORYBOARD:
{
  const boardToRemove = ... // get from action payload
  return {
     ...state,
    boardList: state.boardList.filter(board => board !== boardToRemove);
  };
}

答案 1 :(得分:0)

简单的方法可以在您的新Board组件(您创建小部件的位置)中,您可以保持小部件的数量。当用户单击后退按钮时,您可以检查小部件计数。 如果您的小部件数量大于0,那么您可以在父组件中添加该板,您可以在其中维护所有电路板数据。

父:

class Parent {
  constructor(props){
    super(props);
    this.boardsList = [];
  }

  updateBoards = (newBoard) => {
    this.boardsList.push(newBoard);
    this.setState({renderAgain: true});
  }

  render(){
    return <Board updateBoards={this.updateBoards} />;
  }

}

板:

class Board {

  onClickBackButton = () => {
    if(widgetsCount > 0){
      this.props.updateBoards(boardData);
    }
    else {
      ...normal back button functionality...
    }
  }

}