我试图同时设置多个状态属性,但由于 setState()
是异步,我必须使用回调,但随着更多的属性我必须一次编辑这段代码变得越来越难看!
还有其他好的方法可以实现吗?
this.setState(
{
item_1: true
},
(e => {
this.setState(
{
item_2: false
},
(e => {
this.setState(
{
item_3: 'Hello World'
}
)
})
)
})
)
最佳答案
一次设置它们是很有可能的,就像这样:
this.setState({
item_1: true,
item_2: false,
item_3: 'Foo'
});
如果你仍然想在状态改变后进行某些改变,你仍然可以使用回调。像 setState({obj},callback);
关于javascript - 避免 React setState() 回调循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44559495/