Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将redux客户端从REST转换为GraphQL Apollo?_Javascript_Reactjs_Redux_Graphql_React Apollo - Fatal编程技术网

Javascript 将redux客户端从REST转换为GraphQL Apollo?

Javascript 将redux客户端从REST转换为GraphQL Apollo?,javascript,reactjs,redux,graphql,react-apollo,Javascript,Reactjs,Redux,Graphql,React Apollo,我有一个rest应用程序,它可以获取这样的数据,使用thunk+promise中间件进行redux: export const fetchVenues = () => ({ type: 'FETCH_VENUES', payload: axios.get('http://localhost:3000/mock/venues'), }); 其中的数据进入存储,组件使用从那里获取的数据 我可以用graphql查询或其他东西交换“负载”中的rest请求吗 让我困惑的是Redux

我有一个rest应用程序,它可以获取这样的数据,使用thunk+promise中间件进行redux:

export const fetchVenues = () => ({
    type: 'FETCH_VENUES',
    payload: axios.get('http://localhost:3000/mock/venues'),
});
其中的数据进入存储,组件使用从那里获取的数据

我可以用graphql查询或其他东西交换“负载”中的rest请求吗

让我困惑的是Redux说:“数据存在于存储中,只能通过操作进行更改”,但Apollo将数据直接绑定到组件。
我已经制作了一个GraphQL API,它在graphiql开发工具中运行得非常好,但是在阅读之后,我对客户端处理它的方式感到有点困惑。

我的理解是,apollo在内部使用redux。基本上,它使您将查询与组件并置,并将相关数据+函数作为道具注入(连接)。它还通过在请求完成时更新缓存/存储来为您管理存储

您可以看到ApolloProvider是一个使用类固醇的redux提供商:

我希望这有助于你的理解