所以,我通过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)
答案 0 :(得分:0)
使用查询来查询本地状态和React Hooks,例如:
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