【问题标题】:React accessing setState in callback without arrow function在没有箭头函数的回调中反应访问 setState
【发布时间】:2020-02-06 17:38:22
【问题描述】:

我正在为公司内部网开发代码。使用箭头函数构建基础后,我在 Internet Exploder 中进行了测试。发现它不接受箭头函数。我在这个项目中使用 React,并且已经重构了所有代码以使用经典函数调用。

除了一个小故障外,它大部分都可以工作:我无法从函数调用内部访问它。

这是一个代码示例,尽管还有其他示例:

<NavLink onClick={function () { 
    this.setState({ openCount: item.pageId }); 
    this.props.CurrentPage_Update(item) 
    }
} 
className="menu menu-link" 
key={"DDNavLink_" + item.pageId}>
{item.title}
</NavLink>

如何访问我所有的函数调用的“this”对象?我尝试按var set=this.setState; 的顺序创建一个变量,但失败了,尽管它确实适用于绑定函数。

虽然我读过 babel,但我不知道该去哪里,但完全不知道它的用途和功能,尤其是对于这样一个看似简单的重构。

谢谢

【问题讨论】:

    标签: javascript reactjs this react-component


    【解决方案1】:

    在每个函数调用结束时,我使用 .bind(this) 使函数能够使用外部 this 而不是内部。

    //blah blah blah
    }.bind(this)
    

    我发现如果函数中有任何对 this 的调用,我必须在每个右大括号的末尾执行此操作。无论是否有必要,我都计划将其作为每个经典函数调用的习惯。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-06-25
      • 1970-01-01
      • 2022-12-05
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多