WebアプリケーションでReactjsとRelayjsを使用しています。私はそれをmemberList
と呼ぶページの1つに、ウェブサイトに登録されているすべてのユーザーのリストを表示しています。Relayがクエリデータを取得するタイミングを決定する
これは私の実装の簡易版である:
render() {
{this.props.memberList.edges.length > 0 ?
<ol>
{this.props.memberList.edges.map(
(member, i) => {
return <li>{member.node.username}</li>;
}
)}
</ol>
: <span>No members to show!</span>}
}
そして、私のRelayContainer:
export default Relay.createContainer(MemberList, {
fragments: {
classroom:() => Relay.QL`
fragment on Classroom {
id,
memberList(first: 100) {
edges {
node {
id,
username
}
}
},
}
`,
},
});
これは正常に動作します。それは期待どおりに教室のすべてのメンバーを表示します。 this.props.memberList.edges
配列が空であるため、
- のページへの移動、またはさわやか、
<span>
は一瞬のためにレンダリングされています。私はそれが好きなただし、ページはかなり動作しません。 - 1秒未満で、
props
が更新され、配列は空ではなくなりました。これにより、再レンダリングが行われ、代わりにメンバーとのリストが表示されるようになりました。
私はmemberList
が実際空またはクエリ応答が保留中であるため、そのプロパティがまだ決定できない場合であれば、私が判断することができるようにリレーがデータをフェッチしている際に知ってほしいです。
これはどのように達成できますか?私は2時間以上を探しましたが、私はここでやっていることではない突然変異に関連する答えを見つけることができます。ありがとう。