我有以下代码
save: function() {
var _this = this;
console.log(this.refs.itemText)
this.setState({isEditing : false},
function() {
console.log("Inside call back");
console.log(_this.refs);
console.log(_this.refs.itemText);
}
);
},
但是_this在回调函数内部是不可访问的。这是范围问题吗?
查看演示 here
最佳答案
我检查了你的代码,一切正常。问题出在你的逻辑上。
让我向您解释一下出了什么问题。
当您处于编辑模式时,您的 itemText 会被渲染,以便它在引用中可用,从而显示正确的控制台日志。
当您保存并更改状态时,它会重新呈现表单,并且由于您的状态发生更改,您的输入元素现在被隐藏。因此,当您尝试访问其引用时,它会返回未定义。
我希望这能回答您的问题。
关于javascript - React JS 'this' 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40707644/