【发布时间】:2019-02-26 23:03:16
【问题描述】:
我的目标是有一个框,可以在数组中按顺序呈现颜色的单词。
我正在为渲染数组的每个元素的概念而苦苦挣扎。我假设您需要挑选每个元素,将其存储在一个变量中,然后渲染该变量,但每次尝试时我都会遇到死胡同。
您将在下面的代码中看到我注释掉的尝试。我也尝试过forEach,但在尝试使用forEach 时,React 给了我一个错误。
此外,有人告诉我尽可能避免使用.map 和for loop。
import React from 'react'
class ColorSwitch extends React.Component {
constructor(props) {
super(props)
this.state = {
colors: ["white", "orange", "purple", "black", "green"]
}
}
nextColor = () => {
let newColor = this.state.colors
// let setColor = newColor[0] += 1 (DIDNT WORK)
this.setState({colors: setColor})
}
render() {
let { colors } = this.state
return(
<div className="box" onClick={this.nextColor}>
<p>{this.setColor}</p>
</div>
)
}
}
export default ColorSwitch
提前感谢您的帮助。
【问题讨论】:
-
你试过
let setColor = newColor[0] + 1吗?
标签: javascript arrays reactjs