针对渲染中的if else语句,对组件进行安装/卸载

时间:2018-01-13 23:58:26

标签: reactjs

什么时候构建vs rerenderes的子组件?我用谷歌搜索关键属性可能有事情要做,但我无法弄明白。另外,在父渲染函数中我说如果为true则返回A,否则返回B.在这种情况下会发生什么?

1 个答案:

答案 0 :(得分:0)

如果A和B是不同的组件,如果发生了变化,React将卸载一个并挂载另一个组件。

但是,如果它们相同,则协调算法可能只更改任何引用,更改道具并调用更新。我同意docs在那里不够清楚,我不确定是否以及何时从版本到版本进行了任何更改。

但是,如果是这种情况(A和B来自同一个组件),你不应该像这样扭动你的代码,而是这样:

{{1}}