我的代码中有以下内容:
this.setState({newState}, function(){ this.focus });
但是,当我包含回调时,它会阻止其他所有内容。这是在setState中进行函数回调的正确方法吗?
答案 0 :(得分:0)
显然,将状态作为对象传入,而不是明确定义状态变量是导致阻塞的原因。
错:
let newState = {
var1: true,
var2: false
};
this.setState({newState}, function(){ this.focus });
右:
this.setState({var1: true, var2: false}, function(){ this.focus });
答案 1 :(得分:0)
如果没有任何进一步的上下文,我建议this
未定义,错误就会被误吞。试试这个:
this.setState(newState, () => this.focus());