我正在嘗試為狀態數組 personState 中的值實現名稱更改處理程序。const [personState, setPersonState] = useState([ { id:'asdasd', name: "Max", age: 28 }, { id:'asdasdsd', name: "Manu", age: 29 }, { id:'assddasd', name: "Stan", age: 31 }, ]);這是處理名稱更改事件的函數:const nameChangeHandler = (event, id) => { const personIndex = personState.findIndex(p => { return p.id === id;//find index of the value in personstate with id equal id passed in }) const person = {...personState[personIndex]} // get all the object value inside that person person.name = event.target.value; //change name of that copy person to the input value const persons = [...personState]; //copy array of current personState persons[personIndex] = person// change value of that person in the array setPersonState(...personState, persons);//set state with the new array }下面是我在切換顯示時使用 map 遍歷 personState 數組的地方。用于顯示數據和刪除數據的映射工作但是當我想實現名稱更改時,它突然返回:TypeError: personState.map is not a functionAppD:/React App/react-guide/src/App.js:52 49 | <button onClick={() => togglePersonHandler()}> 50 | Switch Name 51 | </button>> 52 | {showPerson ? personState.map((person,index) => { 53 | return <Person click = {()=>deletePersonHandler(index)} changed={(event) => nameChangeHandler(event, person.id)} key={person.id} name={person.name} age ={person.age}/> 54 | }) : null} 55 | </div>任何幫助將非常感激
React Item.map 不是函數
開心每一天1111
2023-05-19 19:56:07