reactjs - 在 React 打字稿中将状态设置为对象/大数据对象的动态数组
问题描述
我是使用 React 和 typescript 的新手,最近遇到了以下问题。我的理解是,如果我将初始状态声明为一个空数组,如下所示:
const [todos, setTodos] = useState<{ id: string; text: string }[]>([])
我需要为 typescript 提供一个数组最终会是什么样子的接口。因此useState<{ id: string; text: string }[]>
. 我很好奇的是我从 api 等获取数据的用例,并且架构非常大或值是动态的。我该如何让打字稿知道我的空数组最终将设置为什么。如果我要获取一个非常大的对象数组,我觉得必须遍历并概述每个键值对似乎效率不高。或者,如果数据是动态的,我怎么可能勾勒出架构?
解决方案
您可以为每个数组元素使用 `Record<string,unknown> 类型
const [todos, setTodos] = useState<Array<Record<string, unknown>>>([])
推荐阅读
- javascript - 亲子关系不正常
- javascript - 页面加载时自动按键
- google-apps-script - Google 表格到日历应用脚本 ColorId
- angular - 尝试使用 Angular firebase 创建 docReference
- node.js - ES6 Set 在简单的 Express Node.js 应用程序中不起作用
- c++ - 此错误:“C6262:函数使用'1600000620'字节的堆栈:超出/分析:stacksize'16384'。考虑将一些数据移动到堆”
- sql - While 循环 SQL Server
- sql-server - 选择值为最大值的行,并且一列为空
- credentials - Rails 6+:Rails 读取 SECRET_KEY_BASE 的顺序(env var 与 credentials.yml.enc)
- google-sheets - 谷歌工作表查询范围重置为 A:A