我从父母的状态渲染子组件。它们的渲染由以下因素触发:
{this.state.notificationStack}
正在创建子组件
this.state.notificationStack.push(
<Alert alertID={'alert_' + this.state.notificationStack.length + '_' + dateTime}
type={type} title={title} message={message}
pixelstoMove={this.state.valueToUpdate}
key={this.state.notificationStack.length + '_' + dateTime}
destroyAlertFromNotificationStack={this.destroyAlertFromNotificationStack}/>
)
但是,我正确地管理状态并且能够看到父组件中的状态更改,我没有在Alert组件中收到更新的道具。
答案 0 :(得分:0)
您必须执行以下操作:
const aux = this.state.notificationStack;
aux.push(...)
this.setState({
notificationStack: aux
});
所以它会更新状态。简单推送它将不触发重新渲染和更新子组件。