adr*_*dev 5 reactjs redux-toolkit rtk-query
我正在尝试在 NextJS 应用程序中使用 RTK 查询从 API 获取多个实体。我有App
和AppVersion
型号。当组件加载时,我需要获取App
然后获取适当的AppVersion
s。AnApp
具有currentVersionId
链接到 和 的属性AppVersion
。
该代码失败,因为该组件首先在没有路由器的情况下呈现,它无法获取应用程序并且没有app.currentversionId
.
我有两个切片可以从 RESTful API 获取适当的对象。
function AppsShow() {
const router = useRouter()
const { id } = router.query
const { data: app } = useGetAppQuery(parseInt(id, 10)) // from RTK Query slice
const currentVersion = useGetVersionQuery(app?.currentVersionId) // from RTK Query slice
return (
<div></div>
)
}
Run Code Online (Sandbox Code Playgroud)
这里使用什么合适的模式?谢谢你!
使用该skip
选项:)
function AppsShow() {
const router = useRouter()
const { id } = router.query
const { data: app } = useGetAppQuery(parseInt(id, 10)) // from RTK Query slice
const currentVersion = useGetVersionQuery(app?.currentVersionId, { skip: !app?.currentVersionId })
return (
<div></div>
)
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用skipToken
RTK-Query 导出的(这种方法可能与 TypeScript 配合使用效果更好)
function AppsShow() {
const router = useRouter()
const { id } = router.query
const { data: app } = useGetAppQuery(parseInt(id, 10)) // from RTK Query slice
const currentVersion = useGetVersionQuery(app?.currentVersionId ?? skipToken)
return (
<div></div>
)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3904 次 |
最近记录: |