const [btn, setBtn] = useState([]);
    let newArray = []
    for (let i = 1; i<=10; i++) {
      newArray.push(i);
      console.log(btn);
      setBtn([...btn,...newArray])
    }
  • 我曾try 使用spred操作符将newArray添加到状态,但这将导致无限循环,我的Reaction应用程序崩溃,在BTN数组中获取1到10的值后,我需要在BTN数组状态上使用循环.*

推荐答案

把它放在useEffect

const [btn, setBtn] = useState([]);

useEffect(() => { 
    const newArray = []
    for (let i = 1; i<=10; i++) {
      newArray.push(i); 
      setBtn([...btn,...newArray]) 
    }
}, [])

Javascript相关问答推荐

单击子元素时关闭父元素(JS)

如何从JSON数组添加Google Maps标记—或者如何为数组添加参数到标记构造器

使用下表中所示的值初始化一个二维数组

Redux查询多个数据库Api reducerPath&

将2D数组转换为图形

未捕获错误:[]:getActivePinia()被调用,但没有活动Pinia.🍍""在调用app.use(pinia)之前,您是否try 使用store ?""

如何用拉威尔惯性Vue依赖下拉?

使用JQuery单击元素从新弹出窗口获取值

优化Google Sheet脚本以将下拉菜单和公式添加到多行

如何在ASP.NET项目中使用Google Chart API JavaScript将二次轴线值格式化为百分比

更新动态数据中对象或数组中的所有值字符串

从另一个数组中的对应行/键值对更新数组中的键值对对象

通过跳过某些元素的对象进行映射

在JavaScript中将Base64转换为JSON

react 路由DOM有条件地呈现元素

JQuery使用选项填充HTMLSELECT并设置默认结果,默认结果显示为空

重新渲染过多(&Q).REACT限制渲染次数以防止无限循环.使用REACT下拉菜单时

每隔一行文本段落进行镜像(Boustrophedon)

如何将值从后端传递到前端

Select 所有输入.值