javascript - React JS 'this' 未按预期工作

标签 javascript reactjs

我有以下代码

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

最佳答案

我检查了你的代码,一切正常。问题出在你的逻辑上。

让我向您解释一下出了什么问题。

  1. 当您处于编辑模式时,您的 itemText 会被渲染,以便它在引用中可用,从而显示正确的控制台日志。

  2. 当您保存并更改状态时,它会重新呈现表单,并且由于您的状态发生更改,您的输入元素现在被隐藏。因此,当您尝试访问其引用时,它会返回未定义。

我希望这能回答您的问题。

关于javascript - React JS 'this' 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40707644/

相关文章:

javascript - 如何在动态操作中单击按钮时调用 Oracle APEX 中的 javascript 函数?

javascript - 应用已在进行中错误

reactjs - Firebase grecaptcha 未定义 react

reactjs - 条件 react 属性

javascript - 在 react 中传递输入状态

javascript - HTML5 使用 insertBefore 进行拖放

javascript - 使用简单的模板制作包含多个对象的 JSON 文件

javascript - JS 中 getElementById 的替代选项?

reactjs - 如何在另一个函数中使用 useEffect() 中声明的变量?

reactjs - JSDoc 无法在使用 webpack 开发服务器的 Lerna monorepo 项目中的本地包中工作,但在发布到包注册表时可以工作