当我尝试在reducer中更改状态时,Res Js反复过多。

时间:2017-03-29 12:35:44

标签: reactjs recursion redux

我有两个容器,menu_containeradd_on_container。每个容器都有几个组件。这两个容器安装在view文件中。

在我的reducer中,我有一个州showAddOn。所以我想要做的是取决于状态showAddOn,它显示menu_containeradd_on_container

为了在每个容器中执行此操作,我编写了类似

的代码

// AddOnContainer

  render () {
     if(showAddOn == true) {
       return false;
     }
     else return (
          <div>
             My Components....
          </div>
       );

// MenuContainer

  render () {
     if(showAddOn == false) {
       return false;
     }
     else return (
          <div>
             My Components....
          </div>
       );

但是当我尝试调度操作以更改状态too much recursion时,它会触发showAddOn

我该如何解决这个问题?

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以在查看容器中执行此操作,如下所示:

render() {
   {showAddOn ? <MenuContainer /> : <AddOnContainer /> }
}

这将只加载一个组件,具体取决于条件。