Apollo客户端+zustand?

问题描述 投票:0回答:1

我目前正在使用 React Native 和 GraphQL 开发个人运动跟踪项目,我想知道如何将 Apollo Client 与 Zustand 结合使用。

Apollo 客户端处理数据获取和服务器端缓存,但感觉就像我通过将数据存储在 Zustand 客户端存储中来复制数据。这就提出了一个问题:Zustand 与 Apollo Client 一起使用时真的有用吗?此外,我试图了解同时拥有服务器端和客户端状态管理的好处。鉴于服务器缓存可以在我的整个应用程序中访问,我很难看到将两者结合起来的价值。

非常感谢您对此的见解和解释!

提前谢谢您! ;)

这是我的代码:

const Exercices = () => {
  const { token } = useAuthStore();
  const { exercices, setExercices } = useExerciceStore();
  const { data, loading, error } = useQuery(GET_EXERCICES, {
    context: {
      headers: {
        Authorization: `Bearer ${token}`,
      },
    },
  });

  useEffect(() => {
    if (data) {
      setExercices(data);
    }
  }, [data]);

  if (loading) {
    return <Text>Loading...</Text>;
  }
  if (error) {
    return <Text>Error</Text>;
  }

我获取练习并设置练习商店客户端。

reactjs graphql apollo-client zustand
1个回答
0
投票

“客户端数据”这里的意思是“非服务器端的数据”。

不要将来自服务器的数据存储在 Zustand 中。除此之外,您可能没有任何数据,那么您就不需要 Zustand。或者您有数据,例如用户对深色模式相对于浅色模式的偏好未存储在服务器上,那么您可能有客户端状态管理的原因。

在真正需要的时候使用它,而不是“为了某事,出于原则”。

© www.soinside.com 2019 - 2024. All rights reserved.