【问题标题】:Accessing Apollo Store like I used to go with Redux Store像以前使用 Redux Store 一样访问 Apollo Store
【发布时间】:2018-05-17 19:19:27
【问题描述】:

我正在关注此 Apollo 教程:https://github.com/howtographql/react-apollo/blob/master/src/components/Header.js

Header.js 文件中他们有:

const userId = localStorage.getItem(GC_USER_ID)

这在我看来有点难看:每次Header render() 被称为你从localStorage 读取?

react-redux 我曾经使用过这样的东西:

render() {
  const { authentication } = this.props;
  ...
}

const mapStateToProps = state => ({
  authentication: state.authentication
});

export default connect(mapStateToProps, { logoutAction })(Navbar);

而且,如果我在每个 render() 上从 localStorage 读取数据,假设我想在 localStorage 中存储我所有用户的数据(例如 {username: "john", age: "15"}),当我将这个 const 传递给我的一个子组件时-render 因为JSON.parse 使它成为一个新对象!每次!

如何使用 Apollo 拥有类似 Redux Store 的东西?

【问题讨论】:

    标签: javascript reactjs react-redux apollo react-apollo


    【解决方案1】:

    Apollo 管理状态的解决方案是通过 apollo-link-state。这是一些general infodocs。设置完成后,您可以在 GraphQL 查询中查询状态。

    它还没有达到 1.0 版本,但它可用并且相当容易设置。他们的例子还不是很好。但是,如果您对 GraphQL 解析器有一定的了解,那么设置起来相当简单。我正在成功使用它here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      • 2018-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多