rtk 查询不更新 api 数据

rtk query doesn't update api data

我正在使用 rtk 查询来获取数据并在组件中显示。我可以看到数据即将到来,我可以在前端获取数据。 这是我从查询中获得的值,

const { currentData, isFetching, isError } = useListStudentQuery() 

它放在 Home.js 上并获取数据。

如果我在 Header 中从 Link 导航到 /create/student 并创建一个 mutation 来创建一个学生。

const navigate = useNavigate()
const [createStudent, {data, isError, isLoading, isSuccess, error}] = useCreateStudentMutation();

useEffect(() => {
    // if success
        if(isSuccess){
        navigate("/")
    })

如果成功,我将导航至 /。当我这样做时,我看不到我的更新列表,而只能看到旧列表。 在 Home.js 根据显示数据的文档,我刚刚返回了这样的数据

return (
   currentData && currentData.students.map(student => (
            <Table list={student} key={student._id}/>
))
)

我做错了什么吗?非常感谢您的帮助。

RTK查询是缓存。因此,它的任务是保持服务器响应的状态并且不会引起不必要的请求。

如果您的突变更改了另一个查询所依赖的内容,您必须告诉 RTK 查询从服务器重新获取该数据 - 使用 providesTagsinvalidatesTags.

的自动失效

我强烈建议您阅读 chapters 7 and 8 of the Redux tutorial