当前位置:  开发笔记 > 编程语言 > 正文

使用Relay更新React状态

如何解决《使用Relay更新React状态》经验,为你挑选了1个好方法。

使用Relay,您可以像往常一样创建React组件:

class TodoApp extends React.Component {
  ...
}

然后将组件包装在Relay容器中:

export default Relay.createContainer(TodoApp, {
  ...
});

Relay容器将使用GraphQL获取数据,然后更新状态.这是一个更高阶的组件,然后这个状态作为道具传递给它的子组件.

这与Redux之类的通量实现不兼容(或似乎不兼容).Redux有一个单一的全局状态对象,它也有更高阶的组件,可以将props传递给表示组件.所以我看不到Redux存储和Relay容器当前是如何共存的.

那么我们应该如何更新不是来自数据库的状态呢?这个状态应该如何通过Relay进行管理?



1> Dan Abramov..:

虽然我无法向您提供有关将它们一起使用的建议,但从技术上讲,您绝对可以依次应用几个更高阶的组件:

class TodoApp extends React.Component {
  // ...
}

TodoApp = connect(
  // ...
)(TodoApp);

TodoApp = Relay.createContainer(TodoApp, {
  // ...
});

export default TodoApp;

我不确定这有多大意义,但它很容易实现.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有