渲染时,react会对树进行反向传递吗?

时间:2017-02-09 18:49:42

标签: javascript angularjs reactjs

忽略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。它会下降,然后重新上升,如果你理解了这种复杂性,你可以根据操作的顺序在你需要的地方添加行为。不是说它更好,或更糟,但只是作为参考框架。

1 个答案:

答案 0 :(得分:0)

React模式是从根向下的单向数据流。

对于您提供的示例,子属性将存储在状态(无论是本地组件状态还是应用程序状态)以及可能在有条件地呈现的逻辑中使用的其他属性它们。

一般模式是状态数据向下流动,状态(事件等)的变化向上流动。