【发布时间】:2019-09-19 04:18:09
【问题描述】:
尝试 ES6 解构。
我在 React 类构造函数中使用了这段代码:
let { class, ...rest } = props;
上面的代码有效。但我需要this.class 和this.rest 中的变量。
我有这段代码,它可以工作:
let { classes, ...rest } = props;
this.classes = classes;
this.rest = rest;
我正在寻找这样的东西:
{ this.classes, ...this.rest } = props;
【问题讨论】:
-
您使用的是函数式组件还是类组件?也不是很清楚你想要完成什么
-
我正在使用 react 类组件
-
我想不出一种特别优雅的单行方式来做到这一点,但你可以
Object.assign(this, { classes, rest })或Object.assign(this, { rest: { ...props }, classes: props.classes }) -
您的做法和@rayhatfield 建议的方式是正确的。但是我觉得可能不需要将 props 复制到类变量,因为您可以在任何需要的地方从 props 访问它们
-
请记住,可读、易于理解的代码比节省输入的几个字符更重要。首先要清楚。
标签: javascript reactjs ecmascript-6 destructuring