我有C#背景,但我是React和JS的新手。我想知道是否有一种方法可以在声明数组时使用lambda函数,例如:
this.state = {
arr: Array(9).fill( (i) => {<Foo index={i} />} ),
};
我正在尝试创建一个索引值为升序的React.Components数组,并希望这是一个可行的选择。
发布于 2018-06-03 01:49:59
可能是这样的:
this.state = {
arr: new Array(5).map((emptyElement, index) => <Foo index={index} />);
}
发布于 2018-06-03 01:57:36
尝试:
this.state = {
arr: Array.from(Array(9), (value, index) => <Foo index={index} />)
}
发布于 2018-06-03 01:58:38
您不应该向状态it's a good practice to put just serializable data in it添加组件。此外,应该在render()
内部创建组件。
不管怎样,如果你想做一些类似的事情来创建,比方说,一个数字数组,我会这样做:
this.state = {
arr: Array(9).fill().map((v, i) => i),
};
或者,假设这些数字总是从0
开始
this.state = {
arr: [...Array(9).keys()],
};
https://stackoverflow.com/questions/50659595
复制相似问题