[英]How do I create dynamic array in typescript?
我想按以下格式在打字稿中创建一个动态数组
const display = [
{ id: 1, displayName: "Abc1" },
{ id: 2, displayName: "Abc2" },
{ id: 3, displayName: "Abc3" }
]
我尝试了以下代码
const [display, SetDisplay] = useState([])
function createData(id: number, name: string) {
return { id, name };
}
SetDisplay(display.push(createData(1, "Abc1")))
但不能将数据推送到变量display
中。 得到像这样的错误
Argument of type '{ id: number; result: string; }' is not assignable to parameter of type 'never'.
解决此问题的任何信息都会有所帮助。
你不应该直接改变状态。
您可以直接执行 setState 并解构以前的数组以添加新数据。
您也可以按以下方式输入您的 setState <{id: number; name:string}>
<{id: number; name:string}>
const [display,setDisplay] = useState<{id: number; name:string}>([]); function createData(id: number, name: string) { setDisplay((prev) => [...prev, { id, name } ]); }
将类型添加到useState
:
const [display,SetDisplay] =
useState<{id: number,name: string}[]>([]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.