簡體   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