在 React 打字稿中将状态设置为动态对象数组/大数据对象

时间:2021-06-13 20:40:43

标签: reactjs typescript react-typescript

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

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

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

1 个答案:

答案 0 :(得分:-1)

您可以为每个数组元素使用 `Record 类型

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