我在这里关注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
我的一个子组件,因为JSON.parse
使它成为一个新对象!每次!
如何使用Apollo制作Redux商店?
答案 0 :(得分:0)
Apollo用于管理状态的解决方案是通过apollo-link-state。这是一些general info和docs。设置好之后,可以在GraphQL查询中查询状态。
它还没有达到1.0版本,但是它是可用的,并且设置起来也很容易。他们的例子还不是很好。但是,如果您对GraphQL解析器有所了解,则设置起来非常简单。我正在成功使用here。