我有一堆子组件在ComponentDidMount的map函数中初始化:
this.mappedApplications = this.props.applications.map((application, key) =>
<ApplicationCard
selectedYear={this.state.openApplicationYear}
applicationYear={application.application_year}
handleArrowClick={this.handleApplicationCardArrowClick}
key={key}
/>, this
);
this.setState({
applications: this.mappedApplications,
});
当state.openApplicationYear更改时,我希望它对所有应用程序卡都更改。如果所选年份与申请年份匹配,我会在申请卡显示信息中进行检查,目的是一次只能打开一张卡。这些卡具有下拉箭头,允许用户打开或关闭它们。现在,父级的openApplicationYear正确更改,但子级的openApplicationYear并未更新。
如果有帮助,这里是渲染功能:
render() {
return (
<div className="dashboard__card">
<h3 className="mb-3">Applications</h3>
{this.state.applications}
</div>
)
}
如上所述,我已经将“ this”绑定到了地图函数。当父母的状态改变时,我还需要做其他任何事情来更新孩子吗?