reactjs - 如何为 React 钩子(useState 等)做流类型注释?
问题描述
我们应该如何使用带有反应钩子的流类型注释,例如useState
?我已经尝试搜索应该如何实现它们的一些示例,但找不到任何东西。
我试过这个:
const [allResultsVisible, setAllResultsVisible]: [ boolean, (boolean) => void, ] = useState(false);
这不会引发任何与流程相关的错误,但我不确定这是否正确或注释钩子的最佳方式。如果我的尝试不正确或不正确,我应该怎么做?
解决方案
Flow 推断类型,如在Flow 库中添加了对钩子的支持的 PR 中所示。
更新
正如我在另一个答案的评论中所讨论的那样,必须在上下文中使用结果变量才能使类型检查按预期工作。
const [loading, setLoading] = React.useState(true);
(loading: boolean);
setLoading('foo') // Flow error
对比
const [loading, setLoading] = React.useState(true);
setLoading('foo') // no Flow error
推荐阅读
- android - 可以从应用程序外部访问firebase数据库吗
- spring - 当我们在 Spring Batch 中使用 singleItemPeekableItemReader 读取 csv 时,是否可以使用多线程?
- javascript - Passport JWT 登录后未授权
- java - 无法从 Android 中的 Firebase Storge 获取下载网址
- python - Python从二维列表中删除元组
- laravel - VueJs 简单的 @click 在单个文件组件中不起作用
- javascript - Angular - 自定义结构指令 - ngForIn:如何创建自己的局部变量?
- ios - 无法读取目标c中json文件的具体值
- multithreading - 2 核系统中从 HDD 读取和加密文件的最佳线程数是多少?
- c++ - 使用 ukey 上的密钥/证书对数据进行签名