使用 Relay,你可以像往常一样创建一个 React 组件:
class TodoApp extends React.Component {
...
}
然后组件被包裹在一个 Relay 容器中:
export default Relay.createContainer(TodoApp, {
...
});
Relay 容器将使用 GraphQL 获取数据,然后更新状态。这是一个高阶组件,然后这个状态作为道具传递给它的孩子。
这与 Redux 之类的通量实现不兼容(或看起来不兼容)。Redux 有一个单一的全局状态对象,它也有更高阶的组件,可以将 props 传递给展示组件。所以我看不到 Redux 存储和 Relay 容器目前是如何共存的。
那么我们应该如何更新不是来自数据库的状态呢?这个状态应该如何用 Relay 来管理?