繁体   English   中英

当 useState 更新时,map 循环在 useState 中的对象内部的数组中不起作用。 反应 js

[英]When useState update then map loop is not working in array inside of object in useState. React js

当 useState 更新时,map 循环在 useState 中的对象内部的数组中不起作用。 反应 js

import { useState } from "react";
import React from "react";

function Check() {
    
const [Children, setChildren] = useState({data:[], otherdata:{}});
  
 function handleChange(){
 Children["data"] = [...Children["data"], Children["data"].length]
 setChildren(Children)
 alert(Children["data"])
 }

  return (<React.Fragment>
    <div>Check</div>
    {Children["data"].map(data => <div>map</div>)}
    <button
     onClick={handleChange}
    >Add List</button>
  </React.Fragment>);
}
    
export default Check

为了更新你的状态,你必须使用你的状态设置器,在这种情况下是setChildren而不是直接设置你的状态(不做Children["data"] = [...Children["data"], Children["data"].length] )。

试试这个我有固定的问题-

 import { useState } from "react"; import React from "react"; function Check() { const [Children, setChildren] = useState({ data: [], otherdata: {} }); function handleChange() { setChildren({ ...Children, data: [...Children["data"], Children["data"].length], }); } return ( <React.Fragment> <div>Check</div> {Children.data.map((ele) => ( <div>{ele}</div> ))} <button onClick={handleChange}>Add List</button> </React.Fragment> ); } export default Check;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM