【发布时间】:2021-03-30 04:33:35
【问题描述】:
我的程序应该允许用户输入多个成绩并随意更改每个成绩。我在更新数组中的单个元素时遇到问题。这是我的主要功能:
import React, {useState} from "react";
import NewGradeRow from './NewGradeRow';
function App() {
const [grades, setGrades] = useState([]);
return (
<div>
<table>
<tr>
<th>#</th>
<th>Grade</th>
</tr>
<NewGradeRow number={1} grade={grades[0]} setGrade={setGrades}/>
<NewGradeRow number={2} grade={grades[1]} setGrade={setGrades}/>
</table>
<div>
<h1>{[...grades]}</h1>
</div>
</div>
);
}
export default App;
这是我将钩子传递给的函数:
import React from "react";
export default function NewGradeRow({ number, grade, setGrade }) {
return(
<tr>
<td>{number}</td>
<td>
<form>
<input type="number" id="Grade" name="Grade" value={grade}
onChange={(e) => setGrade(parseInt(e.target.value))}/>
</form>
</td>
</tr>
)
}
【问题讨论】:
-
此答案在此处指定您正在寻找的关于如何更新状态数组中的单个项目而不改变它的内容:stackoverflow.com/a/49502115/5972355
标签: reactjs react-hooks state use-state use-context