通过 react-apollo graphql 中的 redux 调用使用 redux 变量的问题



我的组件需要调用一个 graphql 查询,但它需要只能由 redux 使用的变量。所以我已经映射了 redux 的连接来反应阿波罗组合。但是我在从reducer获取数据时遇到问题,并且调用未正确加载。

class abc extends Component {
componentWillMount() {
console.log(this.props.variableData); // Getting empty object.
}
}
function mapDispatchToProps(dispatch) {
return bindActionCreators({ variableDataFetchAction }, dispatch);
}
function mapStateToProps(state) {
return {
variableData: state.reducerName.variableData,
}
}
export default compose(
connect(mapStateToProps, mapDispatchToProps),
graphql(MyQuery, {
options: props => {
return {
.....,
variables: props.variableData,
};
},
}),
)(abc);

我需要知道我可以重新使用的方式是否存在问题。因为我的店里好像空了。

需要明确的是,你不需要react-apollo调用 GraphQL api 端点。

在您的情况下,您正在使用 2 个处理其自己的存储的库(假设您使用的是Apollo Client 2(。Redux具有Redux Store,Apollo正在使用InMemoryCache进行缓存。

您通过graphql获取的内容存储在 Apollo 缓存中,您可以使用Apollo Client Developer ToolsChrome 扩展程序来检查其内容。

如果要通过apollo-client将数据提取回 Redux 存储,则必须手动调度操作来执行此操作(一旦datagraphql调用返回(。这大多没有记录,因为不建议使用 2 种类型的Store.

如果你只需要调用一个 GraphQL 端点,而不是改变你的 Redux 实现。我建议改用apollo-fetch或graphql-request。

最新更新