首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在ReactJS中,可以在Array.fill中使用循环吗?

在ReactJS中,可以在Array.fill中使用循环吗?
EN

Stack Overflow用户
提问于 2018-06-03 01:46:54
回答 3查看 387关注 0票数 7

我有C#背景,但我是React和JS的新手。我想知道是否有一种方法可以在声明数组时使用lambda函数,例如:

代码语言:javascript
复制
this.state = {
arr: Array(9).fill( (i) => {<Foo index={i} />} ),
};

我正在尝试创建一个索引值为升序的React.Components数组,并希望这是一个可行的选择。

EN

回答 3

Stack Overflow用户

发布于 2018-06-03 01:49:59

可能是这样的:

代码语言:javascript
复制
this.state = {
  arr: new Array(5).map((emptyElement, index) => <Foo index={index} />);
}
票数 1
EN

Stack Overflow用户

发布于 2018-06-03 01:57:36

尝试:

代码语言:javascript
复制
this.state = {
  arr: Array.from(Array(9), (value, index) => <Foo index={index} />)
}
票数 1
EN

Stack Overflow用户

发布于 2018-06-03 01:58:38

您不应该向状态it's a good practice to put just serializable data in it添加组件。此外,应该在render()内部创建组件。

不管怎样,如果你想做一些类似的事情来创建,比方说,一个数字数组,我会这样做:

代码语言:javascript
复制
this.state = {
    arr: Array(9).fill().map((v, i) => i),
};

或者,假设这些数字总是从0开始

代码语言:javascript
复制
this.state = {
    arr: [...Array(9).keys()],
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50659595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档