所以,我通过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)
使用查询本地状态和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