spc*_*spc 1 javascript typescript reactjs
我想用以下格式在打字稿中创建动态数组
const display = [
{ id: 1, displayName: "Abc1" },
{ id: 2, displayName: "Abc2" },
{ id: 3, displayName: "Abc3" }
]
Run Code Online (Sandbox Code Playgroud)
我尝试过以下代码
const [display, SetDisplay] = useState([])
function createData(id: number, name: string) {
return { id, name };
}
SetDisplay(display.push(createData(1, "Abc1")))
Run Code Online (Sandbox Code Playgroud)
但无法将数据推送到变量中display。出现错误,例如
Argument of type '{ id: number; result: string; }' is not assignable to parameter of type 'never'.
Run Code Online (Sandbox Code Playgroud)
任何解决此问题的信息都会有所帮助。
您不应该直接改变状态。
您可以直接执行 setState 并解构以前的数组以添加新数据。
您也可以按如下方式输入 setState<{id: number; name:string}>
const [display,setDisplay] = useState<{id: number; name:string}>([]);
function createData(id: number, name: string) {
setDisplay((prev) => [...prev, { id, name } ]);
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
388 次 |
| 最近记录: |