从状态数组呈现的组件不会更新收到的道具

时间:2018-03-07 19:18:50

标签: javascript reactjs dynamic state react-props

我从父母的状态渲染子组件。它们的渲染由以下因素触发:

{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组件中收到更新的道具。

1 个答案:

答案 0 :(得分:0)

您必须执行以下操作:

const aux = this.state.notificationStack;
aux.push(...)
this.setState({
  notificationStack: aux
});

所以它会更新状态。简单推送它将触发重新渲染和更新子组件。