在React容器组件中使用recompose分支

时间:2018-08-18 01:57:44

标签: javascript reactjs recompose

我有一个模态的容器组件。它导入LabelDetailForm,它使用React门户将模态的内容添加到页面中。

+=

LabelDetailForm可以通过检查其render方法中props.showModal的值来防止模式内容出现在DOM中。但是,根据针对Chrome的React Developer Tools扩展,LabelDetailForm组件始终存在。为了节省内存,我希望容器组件仅在showModal为true时才导出LabelDetailForm。

我尝试使用branch():

t= 1:1:100;
k=0.25;
M=100;
T=1;
while i<100
    T=T+k*T*(M-T);
    i=i+1;
    disp(T)
end
plot(t,T);

但是,即使showModal为true,LabelDetailForm也不会出现,并且我在控制台中收到以下警告:

 25.7500

      503.7344

      -5.0340e+04

      -6.3484e+08

      -1.0075e+17

      -2.5379e+33

      -1.6102e+66

     -6.4819e+131

     -1.0504e+263

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf

      -Inf
.
.
.

1 个答案:

答案 0 :(得分:0)

branch()的第二个和第三个参数是高阶组件,而不是组件或null。您可以使用renderComponent()renderNothing()创建HOC:

branch(
  ({ showModal }) => showModal,
  renderComponent(LabelDetailForm),
  renderNothing
)