在componentWillReceiveProps中,我需要将this.props.children与nextprops中的子项进行比较。我可以使用React.Children.forEach迭代任一结构,但我还没有找到任何认可的机制来索引" opaque"结构
答案 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.map
或React.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()类似,但不返回对象。