【发布时间】:2016-09-05 18:40:38
【问题描述】:
我使用 React 已经有一段时间了,我很高兴学习和采用 Relay.js。我很难找到一种方法来保持组件在多个项目中可重用并仍然使用 Relay。我能够从中继容器中分离组件。我认为这是正确的举动。请看下文。
反应组件
import React from 'react';
class ItemList extends React.Component {
createList(item) {
return (
<li id={item.node.id} key={item.node.id}>{item.node.name}</li>
);
}
render() {
let listValues = this.props.test.edges.map(this.createList);
console.log(this.props.test);
return (
<div>
<h1>My List</h1>
<ul>
{listValues}
</ul>
</div>
);
}
}
export default ItemList;
中继容器
import React from 'react';
import Relay from 'react-relay';
import ItemList from './ItemList.js';
export default Relay.createContainer(ItemList, {
fragments: {
},
});
随着我开始更多地了解 Relay,我开始看到
this.props.relay.getPendingTransactions(this.props.game)
和
this.props.relay.hasOptimisticUpdate(hidingSpot)
当 Relay 用于 React 组件的组件级别时,我看不到该组件如何仍然保持其可重用性? 我还在学习中继方式。我看不到如何在样式指南和多个项目中使用组件(另一个不实现中继)。我也许可以在多个中继项目中使用一个组件,但就是这样。
还有其他人遇到过这个问题吗?当 Facebook 在 https://facebook.github.io/relay/docs/thinking-in-relay.html 它们听起来好像组件与继电器松散耦合。我错过了什么?
【问题讨论】:
标签: facebook facebook-graph-api reactjs relayjs