Reactjs 您可以将React.addons.PureRenderMixin与使用props.children的组件一起使用吗?

Reactjs 您可以将React.addons.PureRenderMixin与使用props.children的组件一起使用吗?,reactjs,Reactjs,例如: 如果MyComponent使用React.addons.PureRenderMixin,调用updateName时,此组件是否会按预期重新呈现 ... render() { return <MyComponent> <HelloWorld name={ this.state.name } /> </MyComponent>; } updateName() { this.setStat

例如:

如果
MyComponent
使用
React.addons.PureRenderMixin
,调用
updateName
时,此组件是否会按预期重新呈现

...
render() {
    return <MyComponent>
               <HelloWorld name={ this.state.name } />
           </MyComponent>;
}

updateName() {
    this.setState({name: 'Fred'});
}
。。。
render(){
回来
;
}
updateName(){
this.setState({name:'Fred'});
}

它“在相同的道具和状态下呈现相同的结果”,因此当您调用
this.setState({name:'Fred'})
时,它将重新呈现,假设
this.state.name!='Fred'

我关心的是MyComponent.props.children===nextrops.children因为
MyComponent.props.children===nextrops.children==nextrops.children
在使用
React.addons.PureRenderMixin
时,如果
MyComponent.props.children==nextrops.children==nextrops
,则不会重新渲染,即使子对象本身没有更改,这意味着PureRenderMixin对于使用props.children的组件实际上是无用的,因为即使子对象没有更改,它也将始终重新渲染。所以,你不能在任何需要孩子的东西上使用PureRenderMixin。如果react组件本身是不可变的,那就很酷了,这样你就可以很容易地确定孩子是否已经改变了