GraphQl和Apolloprovider并存储..它非常嵌套



所以,我正在通过apolloprovider

通过商店
  <ApolloProvider store={store} client={apolloClient}>

现在,Apolloprovider将其放在客户端中。但是它放置了存储对象,而不是实际的还原对象。所以,我得到以下内容,这对我来说似乎很奇怪。

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

但没有"状态"?我的意思是,确定是否会致电GetState(),但这似乎与我通常没有Apollo的Redux时有很大不同。我得到了我的"状态树" ...在这里,我得到了...

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

访问这样的状态道具似乎过多:

if (this.props.client.state.getState().whatever.foo)

对本地状态使用查询,并反应钩子:

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

最新更新