我有一个模态的容器组件。它导入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
.
.
.
答案 0 :(得分:0)
branch()
的第二个和第三个参数是高阶组件,而不是组件或null
。您可以使用renderComponent()
和renderNothing()
创建HOC:
branch(
({ showModal }) => showModal,
renderComponent(LabelDetailForm),
renderNothing
)