GraphQL和ApolloProvider和存储......其非常嵌套。

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

所以,我通过ApolloProvider来传递商店。

  <ApolloProvider store={store} client={apolloClient}>

现在,ApolloProvider把它,存储,放在客户端。但它把存储对象,而不是实际的reducer对象。所以,我得到了下面的结果,这对我来说很奇怪... ...

client
   ---> store
  -----------> getState
  -----------> dispatch

但没有 "状态"?我的意思是,如果我调用getState()是肯定的,但这似乎与我通常在没有Apollo的情况下做redux的时候很不一样。我得到了我的 "状态树"......在这里,我得到了......。

当使用redux w graphql时,什么是 "正常 "或 "最佳实践"?

这样访问一个状态道具似乎太过分了。

if (this.props.client.state.getState().whatever.foo)
redux graphql apollo
1个回答
0
投票

使用查询本地状态和React钩子一样。

import gql from 'graphql-tag';
import { useQuery } from '@apollo/react-hooks';
//...
export default () => {
    const { data } = useQuery(gql('query GetTableFilter { selectedMall @client }'));
    // ... do something with data.selectedMall
© www.soinside.com 2019 - 2024. All rights reserved.