【问题标题】:Redux const { var1, var2 } = this.props; [duplicate]Redux const { var1, var2 } = this.props; [复制]
【发布时间】:2018-01-09 04:16:48
【问题描述】:

我是反应 js 的新手。我正在做一个项目,发现这条线

 const { var1, var2 } = this.props;  

这个组件中的道具是

type PropsType = {
  var1: Array<any>,
  a: Array<any>,
  b: boolean,
  c: boolean,
  var2: (string) => void,
  d: () => void,
  e: () => void
};  

我很困惑。这是什么意思?

【问题讨论】:

标签: javascript reactjs ecmascript-6 react-redux


【解决方案1】:
const { var1, var2 } = this.props;
// the same as
// const var1 = this.props.var1;
// const var2 = this.props.var2;

你试过阅读docs吗?

【讨论】:

  • 你能解释一下其他道具会发生什么吗?这意味着它们被分配给 var1 或 var2 的任何一个,或者它们保持未分配。
  • 它们仅在 props 对象中可用。
【解决方案2】:

嗯,多余的信息,但对我来说是一个修订。 :) 无论如何,这是解构对象分配。这意味着,这是一种从对象中获取对象属性值的简写方式(例如这里的 this.props)。 因此,当您想从 'this.props' 中提取名为 'var1' 和 'var2' 的属性时,通过编写指令 -

const { var1, var2 } = this.props;

您要求将“this.props”中名为“var1”和“var2”的属性存储在常量“var1”和“var2”中。所有其他属性都被简单地忽略。如果任何询问的属性名称不存在,它们只会被赋予“未分配”值。

在此之后,您可以考虑在这里查看更多细节(它的魔力!) - MDN - object_destructuring

【讨论】:

    【解决方案3】:

    这与 React 或 Redux 没有直接关系。是 ES6 Object Destructuring 赋值。

    这意味着您将 this.props.var1this.props.var2 分别分配给 consts var1var2

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 2015-06-17
      • 1970-01-01
      • 2020-07-13
      • 2013-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多