忽略reconciliation optimization heuristic,是否有人可以明确地回答React是否进行反向树遍历,还是只有从根节点开始并逐步渲染子进程的主渲染遍历?
在这种情况下,这对我很重要:
const Parent = (props) => {
return (
<Parent>
<a />
<B />
</Parent>
)
}
const B = (props) => {
if (true) {
return <p>I am the letter B</p>
}
}
在我看来,因为Parent
总是在孩子面前呈现,所以它不能询问他们的可见性,并且无法确定是否添加分隔符,或者成功加载了多少部分,或其他任何内容。
树是否朝着root -> leaves
的方向呈现,那是真的吗?
背景:我问,因为在Angular中有一个bi-directional traversal。它会下降,然后重新上升,如果你理解了这种复杂性,你可以根据操作的顺序在你需要的地方添加行为。不是说它更好,或更糟,但只是作为参考框架。
答案 0 :(得分:0)
React模式是从根向下的单向数据流。
对于您提供的示例,子属性将存储在状态(无论是本地组件状态还是应用程序状态)以及可能在有条件地呈现的逻辑中使用的其他属性它们。
一般模式是状态数据向下流动,状态(事件等)的变化向上流动。