【问题标题】:Lodash & React, Unable to access local variablesLodash 和 React,无法访问局部变量
【发布时间】:2018-04-20 17:03:23
【问题描述】:

我在反应中遇到了 lodash 的问题。我在渲染函数的开头有以下代码。我从 this.state 中获取布局的值,然后在数组中的每个布局对象上,我将静态设置为布尔属性 isEdit 的倒数。但是,我已经尝试了所有方法,但由于某种原因,我无法在我的 lodash 函数中访问 isEdit。这是未定义的......我无法弄清楚我做错了什么,所以任何帮助将不胜感激。

public render() {
   const { isEdit, size } = this.props;
   const layout = this.state.layout.slice();
   _.forEach(layout, (x) => {
     x.static = !isEdit;
   });
   .....

【问题讨论】:

  • 你确定isEdit 是作为道具传递的吗
  • @Li357 是的,因为它在渲染函数的其他地方被使用并且工作正常。我也失去了上下文,所以我不能做“this.props.isEdit”
  • 不,你没有。您正在使用箭头函数。
  • @Li357 是的,但出于某种原因我是。在开发工具中,一旦我进入该功能,这是未定义的。
  • 在输入 forEach 回调之前,您是否尝试过记录它?

标签: javascript reactjs typescript lodash


【解决方案1】:

你的意思是,layout 上的所有 static 属性都设置为 true? B'cos

!undefined would be true.

您也可以为您的 isEdit 属性设置 defaultProp,以确保这一点。

【讨论】:

    猜你喜欢
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多