2 回答

TA貢獻1806條經驗 獲得超8個贊
這是因為 useState 是異步的,如果您想在更新后記錄狀態,您可以使用 useEffect 掛鉤list作為依賴
項另外我想建議為列表的每個元素添加一個鍵,一種快速的方法是使用數組索引,像這樣:
{list.map((item,index) => (
<li key={index}>{item}</li>
))}
但是最好將您的列表作為對象列表[value,id]并在您將項目添加到列表時生成一個 uuid()

TA貢獻1860條經驗 獲得超8個贊
我將改寫我的問題:我再次處理我的代碼,一切似乎都正常,但是當我控制臺記錄數組列表時,數組第一個數組總是空的......
import React, { useState } from "react";
const App = () => {
// State search et sa fonction de modification
const [search, setSearch] = useState("");
const updateSearch = (e) => {
setSearch(e.target.value);
console.log(search);
};
// State de liste et sa fonction de modification
const [list, setList] = useState([]);
const updateList = () => {
setList([...list, search]);
setSearch("");
console.log(list);
};
return (
<div>
<h1>Welcome on your todolist</h1>
<br />
<input type="text" onChange={updateSearch} value={search} />
<button onClick={updateList}>enter</button>
<h1>what is inside of list : {list}</h1>
<ul>
{list.map((item) => (
<li>{item}</li>
))}
</ul>
</div>
);
};
export default App;
添加回答
舉報