在反应查询中输入缩小
Type narrowing in react-query
类型缩小是否像以前一样工作?
为什么 coffeesQuery.data
在所有检查后具有类型 string[] | undefined
而不是 string[]
为了清楚起见,第一张图片包含没有错误弹出窗口的代码。
ps:即使我使用 coffeesQuery.isSuccess
或 coffeesQuery.status === 'success'
,我也会收到相同的打字稿错误
更新:
{
"dependencies": {
"react-query": "^2.26.4",
},
"devDependencies": {
"typescript": "4.6.3"
}
}
错误存在是因为我使用的是react-query v2。已更新至 v3,一切正常。
我在codesandbox中转载了你的截图
https://codesandbox.io/s/type-narrowing-4dv3ci
状态机有四种状态:idle、loading、error、success。如果您检查前三个,剩下的就是成功,因此 data
应该正确地缩小到您的类型,并且在我的示例中也确实表明了这一点。
如果这不起作用,请展示您自己的 codesandbox 或 TypeScript 游乐场复制品。
旁注:空闲状态将在 v4 中移除。
类型缩小是否像以前一样工作?
为什么 coffeesQuery.data
在所有检查后具有类型 string[] | undefined
而不是 string[]
为了清楚起见,第一张图片包含没有错误弹出窗口的代码。
ps:即使我使用 coffeesQuery.isSuccess
或 coffeesQuery.status === 'success'
更新:
{
"dependencies": {
"react-query": "^2.26.4",
},
"devDependencies": {
"typescript": "4.6.3"
}
}
错误存在是因为我使用的是react-query v2。已更新至 v3,一切正常。
我在codesandbox中转载了你的截图
https://codesandbox.io/s/type-narrowing-4dv3ci
状态机有四种状态:idle、loading、error、success。如果您检查前三个,剩下的就是成功,因此 data
应该正确地缩小到您的类型,并且在我的示例中也确实表明了这一点。
如果这不起作用,请展示您自己的 codesandbox 或 TypeScript 游乐场复制品。
旁注:空闲状态将在 v4 中移除。