react-query 中的关系数据
Relational data in react-query
我有一个 REST api,它有一个用于获取分配的端点 -
'/classes/<str:code>/assignments/<int:assignment_id>'
我创建了一个自定义挂钩来查询 Assignment
:
const getAssignment = async ({ queryKey }) => {
const [, code, assignmentId] = queryKey
const { data } = await api.get(`/classes/${code}/assignments/${assignmentId}`)
return data
}
export default function useAssignment(code, assignmentId) {
return useQuery(['assignment', code, assignmentId], getAssignment)
}
这按预期工作,但这是处理 react-query
中关系数据的正确方法吗?
代码对我来说很合适。 react-query 没有标准化缓存,只有文档缓存。因此,如果您使用不同的查询键请求分配,例如分配给一个用户,他们将被单独缓存。
解决这个问题的直接方法是以一种可以同时使所有内容无效的方式构建查询键。
我有一个 REST api,它有一个用于获取分配的端点 -
'/classes/<str:code>/assignments/<int:assignment_id>'
我创建了一个自定义挂钩来查询 Assignment
:
const getAssignment = async ({ queryKey }) => {
const [, code, assignmentId] = queryKey
const { data } = await api.get(`/classes/${code}/assignments/${assignmentId}`)
return data
}
export default function useAssignment(code, assignmentId) {
return useQuery(['assignment', code, assignmentId], getAssignment)
}
这按预期工作,但这是处理 react-query
中关系数据的正确方法吗?
代码对我来说很合适。 react-query 没有标准化缓存,只有文档缓存。因此,如果您使用不同的查询键请求分配,例如分配给一个用户,他们将被单独缓存。
解决这个问题的直接方法是以一种可以同时使所有内容无效的方式构建查询键。