首页 > 解决方案 > 在 React 打字稿中将状态设置为对象/大数据对象的动态数组

问题描述

我是使用 React 和 typescript 的新手,最近遇到了以下问题。我的理解是,如果我将初始状态声明为一个空数组,如下所示:

const [todos, setTodos] = useState<{ id: string; text: string }[]>([])

我需要为 typescript 提供一个数组最终会是什么样子的接口。因此useState<{ id: string; text: string }[]>. 我很好奇的是我从 api 等获取数据的用例,并且架构非常大或值是动态的。我该如何让打字稿知道我的空数组最终将设置为什么。如果我要获取一个非常大的对象数组,我觉得必须遍历并概述每个键值对似乎效率不高。或者,如果数据是动态的,我怎么可能勾勒出架构?

标签: reactjstypescriptreact-typescript

解决方案


您可以为每个数组元素使用 `Record<string,unknown> 类型

const [todos, setTodos] = useState<Array<Record<string, unknown>>>([])

推荐阅读