2 回答
TA贡献1853条经验 获得超18个赞
我建议使用Promise
this.state = {
selectedDates: [Date],
currentType: null,
}
<button
onClick={() => {
this.props.onCreateClick(this.state.selectedDate).then(types => {
let newType = types[types.length - 1];
this.setState({
selectedDates: [],
currentType: newType.id
});
}).catch(error => {
//handle error
});
}}
>Create</button>
和onCreateClick函数返回无极其中reslove您收到新的类型,然后你处理它们在你的状态组件。
如果您希望可以将此代码更改为async\await,则与 promise 相同。
TA贡献1906条经验 获得超10个赞
我会返回类似布尔值的内容onCreateClick()并将其存储在变量中。然后您可以轻松检查该变量是否已设置。
this.state = {
selectedDates: [Date],
currentType: null,
}
handleOnClick = () => {
const isHandled = this.props.onCreateClick(this.state.selectedDate)
if(isHandled){
let newType = this.props.types[this.props.types.length - 1];
this.setState({
selectedDates: [],
currentType: newType.id
})
}
}
<button type="button" onClick={() => this.handleOnClick()}>Create</button>
添加回答
举报