Header更新的同步

来源:1-4 学前技术准备 & 课程代码下载方法

yjies

2021-07-04

你好,老师

在projects list 增删改后,如何能让Header同步更新。目前是需要重新刷新一次,才会更新Header上的已收藏项目。现在是只在加载Header组件的时渲染一次数据(从数据库中得到的),请问如何在缓存数据发生变化的时候,也相应重新渲染Header呢?

我试过用useState存project,请问这些写思路对吗?

const[data,isLoading] = useProjects();
const client = useQueryClient();
const [projects,setProjects] = useState(data); // 但是这里projects一直是undefined,而 data是有数组的。请问这是为什么?
const queryKey = useProjectQueryKey();
useMemo(() => {
   setProjects(client.getQueryKey(queryKey));
},[queryKey] } 
写回答

2回答

拉丶粑粑

2021-11-29

queryClint.invalidateQueries('projects')

用这个

0
0

Nolan

2021-07-06

你的代码不工作时因为 useState 只会初始化一次。

其实我没完全明白你的问题,按理说 useProjects 返回的projects是个状态,它更新的时候组件就会跟着渲染

0
0

React17+Hook+TS4 优质实践,仿 Jira 企业级项目

解锁 React17 高阶用法,轻松应对大型复杂长周期项目

2691 学习 · 1236 问题

查看课程