React と Meteor を使用していますが、データの更新に問題があります。これがコンポーネント内の私のgetMeteorData()
コードですConversation
getMeteorData() {
var vertices_handle = Meteor.subscribe('VertexIDs', this.props.conversation_id);
return {
vertices: Vertices.find({conversation: this.props.conversation_id}).fetch(),
ready: vertices_handle.ready()
};
}
サブスクリプションは投稿 (頂点) の ID のみを返し、このデータを使用してさらに多くのコンポーネントをレンダリングします。
renderPostList() {
return this.data.vertices.map((post) => {
return <PostThread
key = {post._id}
root_id = {post._id}
conversation_id = {this.props.conversation_id} />;
});
}
コンポーネント内で、PostThread
必要に応じて残りのデータを取得するために、ID で各投稿を個別にサブスクライブします。ただし、Vertices コレクションから何かを削除すると、Conversation
コンポーネントが更新されていないように見えます。MeteorToys で、クライアントの Vertices コレクションが投稿を削除したことを確認できますが、この変更がUI に反映されないことがあります。投稿が削除されたときに UI が正しく更新される場合とそうでない場合があり、これに対するパターンを見つけることができませんでした。