我想使用解构解决方案在我的 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 循环有关?
我也尝试在我的州内使用它,但遇到了同样的错误。
最佳答案
这一行给你一个错误,因为这是自动分号插入让你失望的罕见情况之一。永远不要以 (
或 []
开始新行,否则解释器会将其视为上一行的延续,并将 [
或 (
视为属性访问操作或函数调用。
这将起作用:
this.a2 = [];
[a2[2], a2[0], a2[1]] = a1
或这个:
this.a2 = []
;[a2[2], a2[0], a2[1]] = a1
关于javascript - 使用 ES6 和 React 对数组进行解构和重新排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45732531/