我怎样才能将this.props.children与nextprops.children进行比较

时间:2014-10-27 03:11:47

标签: reactjs

在componentWillReceiveProps中,我需要将this.props.children与nextprops中的子项进行比较。我可以使用React.Children.forEach迭代任一结构,但我还没有找到任何认可的机制来索引" opaque"结构

2 个答案:

答案 0 :(得分:0)

第一次渲染后不会调用ComponentWillReceiveProps:http://facebook.github.io/react/tips/componentWillReceiveProps-not-triggered-after-mounting.html您需要执行其他注释所说的内容,使用shouldComponentUpdate。

答案 1 :(得分:0)

该文档提供了处理this.props.children不透明数据结构的实用程序:

http://facebook.github.io/react/docs/top-level-api.html#react.children

您可以使用React.Children.mapReact.Children.forEach索引this.props.children:

object React.Children.map(object children, function fn [, object context])
     

使用此方法对包含在子项中的每个直接子项调用fn   设置为上下文。如果children是嵌套对象或数组,它将是   遍历:fn永远不会传递容器对象。如果孩子   null或undefined返回null或undefined而不是null   对象

React.Children.forEach(object children, function fn [, object context])
     

与React.Children.map()类似,但不返回对象。