当前位置: 首页 > 知识库问答 >
问题:

如何在没有可用数组的react中创建多个元素?

李跃
2023-03-14

我正在创建一个井字游戏,所以我需要创建9个空方块,我有一个UL和9个LIS每个代表游戏中的一个方块,问题是我没有数组循环通过和创建LIS作为react中的传统

   <ul className="squares">
        someArr.map((el, i) => {
           return <Square  props here/>
        })
   </ul>

const Square = (props) => {
  return <li {...props}></li>
}

现在我被迫手工创建所有的lis,并将道具传递到每个li中,这看起来太难看了!!

 <ul>
      <li className="square" ></li>
      <li className="square" ></li>
      <li className="square" ></li>
      <li className="square" ></li>
      <li className="square" ></li>
      <li className="square" ></li>
      <li className="square" ></li>
      <li className="square" ></li>
      <li className="square" ></li>
</ul>

有没有办法即使在没有数组来创建多个元素的情况下也能实现可重用性?

共有1个答案

徐麒
2023-03-14

您可以简单地创建一个长度为9的空数组,然后`map到它上面,如下所示:

[...Array(9)].map((_, i) => <li className="square" key={i}></li>)

演示:

null

const Square = (props) => <li className="square"></li>

class App extends React.Component {
  render() {
    return (
      <ul>
        {[...Array(9)].map((_, i) => <Square key={i} />)}
      </ul>
    )
  }
}

ReactDOM.render(<App />, document.getElementById("app"));
.square{ width:50px;height:50px;background:skyblue; float:left; margin:5px;list-style-type:none;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="app"></div>
 类似资料:
  • 我有一个包含加密符号列表的数组,例如(因为有一千多个) 我需要创建一个多维数组,包含所有可能的组合,例如。 生成的数组不应该有重复的排列,如, 我真的不知道从哪里开始。我能得到的最接近的方法是用一些对构建一个数组(然后,不是写出来的,目标是逐渐搜索并添加缺少的组合): 任何帮助都将不胜感激。我的项目的其余部分是用Python 3.8编写的。

  • 问题内容: 我正在尝试在Swift中创建一个元组数组,但是遇到很大的困难: 以上导致编译器错误。 怎么会这样 以下内容可以正常工作: 问题答案: 它与类型别名一起使用: 更新: 从Xcode 6 Beta 3开始,数组语法已更改:

  • 我有一个非常简单的练习,我注册客户端名称(字符串),我使用数组来做到这一点,所以当我添加一个新的我将使用另一个辅助数组,然后增加原来的长度,或者我将使用System.array复制,有没有其他方法,逐渐增加数组长度,因为你需要添加元素到该数组,不涉及辅助数组?

  • 问题内容: 所以这是我必须编写的第一个真正的Java程序。我对Java也相当陌生。 该程序必须使用2个命令行参数(假定是x和y坐标)运行,然后确定坐标位于哪个城市和县。为此,我想使用一个“卷号”。 但是,在我可以从程序的那些部分开始之前,我首先需要创建并填充不同的数组,对吗? .txt文件包含以下内容:(所有地点和坐标都在荷兰顺便说一句)ID号县辖市。例如: 0格罗宁根哈伦 1格罗宁根韭菜 对于前

  • 如何修改上面的代码,这样如果我输入100,我就有一个100个数字的数组,没有重复? 谢谢你。

  • 例如,我们有一个数组: 现在我想创建d=5的数组的最大数量: array1: array2:

  • 问题内容: 如何在Swift中创建不可变数组? 简要阅读文档会建议您可以做 但是可悲的是,这实际上产生了一个可变的,固定大小的数组。这种可变性通常会产生令人困惑的别名和令人怀疑的别名,并且函数会改变其参数: 没有比C好多少了。 如果我想要不变性,最好的选择是将其包装成这样: 好像疯了。我在这里想念什么? 更新(2015-07-26): 这个问题可以追溯到Swift的早期。从那以后,对Swift进行

  • 我正在使用React、GraphQL、Apollo创建多个可选复选框。 如果选中,我想进行查询,插入查询和取消选中,删除查询(我只想为选中/删除的项目生成查询) 现在我正在使用变异技术,但我有一个问题,所有的东西都被删除,然后被插入。 我只想为选定/删除的项目生成查询。如何修复它? 我的代码如下。 const handleCollection=(名称:string,arr:Array)= 突变更新