如果道具更改,在重新渲染组件之前是否可以通过this.props访问此更改?

时间:2018-07-23 20:43:31

标签: javascript reactjs asynchronous

如果名为this.onUpdate的道具在react组件上发生更改,在组件重新渲染之前,此更改是否可以在this.props上使用?

例如: 我有一个组件Component1,它通过以下方式使用另一个组件Component2:

class Component1 extends React.Component {
    render(){
        return (
            <Component2 onUpdate={this.checkUpdate1} />
        );
    } 
}

然后Component2使用onUpdate属性将信息发送到Component1:

class Component2 extends React.Component{
    sendUpdatedInfo = (event) => {
        this.props.onUpdate(event.target.value);
    }

    render(){
        return (
            <input onChange={this.sendUpdatedInfo} />
        );
    }
}

假设一些信息通过websocket来自服务器,这使Component1更改了他发送给Component2的回调:

class Component1 extends React.Component {
    render(){
        return (
            <Component2 onUpdate={this.checkUpdate2} />
        );
    } 
}

当用户第一次看到UI时,正在使用的回调是this.checkUpdate1,那么下次他键入this.props.onUpdate时是否有可能再次被UI渲染了?

0 个答案:

没有答案