使用 ES6 和 React 解构和重新排序数组
2017-08-17
333
我想使用解构解决方案来重新排序 React 容器中的数组,这应该非常简单。
给定一个数组
a1 = ['hello', 'hi', 'hola']
componentDidMount() {
const { a1 } = this.props
this.a2 = []
[a2[2], a2[0], a2[1]] = a1 --> this line give an error!!
console.log('new ordered array', a2) // ['hola', 'hello', 'hi'] --> this print properly my new array
}
如果我尝试控制台记录或在渲染中使用它,我会得到
undefined
我在那一行得到的错误是:
Uncaught (in promise) TypeError: Cannot set property '#<Object>' of undefined
我真的不明白为什么我可以在
console.log
中正确打印值,但当我尝试在代码中实际使用它时它不起作用。
这可能是 React 循环相关的?
我也尝试在我的状态下使用它,但得到了同样的错误。
2个回答
此行会出错,因为这是自动插入分号让您失望的罕见情况之一。切勿使用
(
或
[]
开始新行,否则解释器会将其视为上一行的延续,并将
[
或
(
视为属性访问操作或函数调用。
这将有效:
this.a2 = [];
[a2[2], a2[0], a2[1]] = a1
或者这样:
this.a2 = []
;[a2[2], a2[0], a2[1]] = a1
dfsq
2017-08-17
此行中有一个
.
而不是
,
[a2[2], a2[0]. a2[1]] = a1 --> 此行给出错误!!
Saravanan I
2017-08-17