我想知道对每个组件使用多个订阅是否是个好策略。所以我很困惑选择以下哪种模式。我正在使用GraphQL的订阅和redis的Pub / Sub。
如果您知道相关信息或帖子,请告诉我。谢谢阅读。 :D
Subscription Set_item {
set_item {
name
no
}
}
class Items extends React.Component {
componentDidMount () {
apolloClient
.subscribe({ query:Set_item })
.subscribe({ data } => {
const item = this.props.items.find((item) => item.no === data.set_item.no);
if (data.set_item.name !== item.name)
this.props.set_item(data.set_item.no, { name:data.set_item.name });
});
}
render () {
return this.props.items.map((item) => <Item item={item} key={item.no}/>);
}
}
class Item extends React.Component {
render () {
return <div>{this.props.item.name}</div>;
}
}
Subscription Set_item ($no:Int) {
set_item (no:$no) {
name
}
}
class Items extends React.Component {
render () {
return this.props.items.map((item) => <Item item={item} key={item.no}/>);
}
}
class Item extends React.Component {
componentdidMount () {
apolloClient
.subscribe({ query:Set_item, variables:{ no:this.props.item.no} })
.subscribe({ data } => {
if (data.set_item.name !== this.props.item.name)
this.props.set_item(this.props.item.no, { name:data.set_item.name });
})
}
render () {
return <div>{this.props.item.name}</div>;
}
}