【发布时间】:2019-12-02 06:39:48
【问题描述】:
在另一个回调中调用 setState 作为回调是否正确?这是我的一段代码。
这是我的初始状态:
state = {
resumeCollection: [],
filters: {
educationLevels: [],
educationFields: [],
jobAdvertisementId: []
}
};
这是一个 componentDidMount 部分:
componentDidMount() {
this.setState(prevState =>( {filters : {
jobAdvertisementId : [...prevState.filters.jobAdvertisementId, {value: this.props.router.query.value, id: this.props.router.query.id}]}
}
)
, () => this.setState(state => {
return({
resumeCollection : state.resumeCollection.filter(resume => resume.jobAdvertisementId == state.filters.jobAdvertisementId[0].id )
});
}
)
)
}
【问题讨论】:
-
setState调用是批处理的,所以如果setState有事情要做,最好结合起来 -
@tarzenchugh 我需要设置“jobAdvertisementId”,然后通过“jobAdvertisementId”值设置“resumeCollection”。