Javascript AWS AppSync中的多个订阅
与3月份的eugenekr()类似,我在为Todo列表设置多个订阅时遇到了问题。我有一个创建订阅和一个删除订阅,这两个订阅在单独应用时都有效,所以这是令人鼓舞的 如果我按照mnishiguchi的建议编写多个Javascript AWS AppSync中的多个订阅,javascript,reactjs,aws-amplify,Javascript,Reactjs,Aws Amplify,与3月份的eugenekr()类似,我在为Todo列表设置多个订阅时遇到了问题。我有一个创建订阅和一个删除订阅,这两个订阅在单独应用时都有效,所以这是令人鼓舞的 如果我按照mnishiguchi的建议编写多个组件,我仍然无法让它工作。据我所知,订阅s实际上没有在prev中接收任何操作。记录仍然会从列表中添加和删除 此代码有效(添加新Todo时列表会更新) render(){ 返回( {({数据,加载,错误})=>{ 如果(装载){ 返回装载。。。; } 如果(errors.length>0){
组件,我仍然无法让它工作。据我所知,订阅
s实际上没有在prev
中接收任何操作。记录仍然会从列表中添加和删除
此代码有效(添加新Todo时列表会更新)
render(){
返回(
{({数据,加载,错误})=>{
如果(装载){
返回装载。。。;
}
如果(errors.length>0){
返回{JSON.stringify(errors)};
}
如果(!data.listtoos)返回;
返回;
}}
);
}
但如果我换成这个,什么也得不到
render() {
return (
<Segment>
<Connect query={graphqlOperation(ListTodos)}>
{({ data, loading, errors }) => {
if (loading) {
return <div>Loading...</div>;
}
if (errors.length > 0) {
return <div>{JSON.stringify(errors)}</div>;
}
if (!data.listTodos) return;
return <TodosList todos={data.listTodos.items} />;
}}
</Connect>
<Connect subscription={graphqlOperation(SubscribeToNewTodos)} onSubscriptionMsg={this.onNewTodo}>
{() => {}}
</Connect>
<Connect subscription={graphqlOperation(SubscribeToDeleteTodos)} onSubscriptionMsg={this.onDeleteTodo}>
{() => {}}
</Connect>
</Segment>
);
}
render(){
返回(
{({数据,加载,错误})=>{
如果(装载){
返回装载。。。;
}
如果(errors.length>0){
返回{JSON.stringify(errors)};
}
如果(!data.listtoos)返回;
返回;
}}
{() => {}}
{() => {}}
);
}
如有任何建议,将不胜感激,谢谢
render() {
return (
<Segment>
<Connect query={graphqlOperation(ListTodos)}>
{({ data, loading, errors }) => {
if (loading) {
return <div>Loading...</div>;
}
if (errors.length > 0) {
return <div>{JSON.stringify(errors)}</div>;
}
if (!data.listTodos) return;
return <TodosList todos={data.listTodos.items} />;
}}
</Connect>
<Connect subscription={graphqlOperation(SubscribeToNewTodos)} onSubscriptionMsg={this.onNewTodo}>
{() => {}}
</Connect>
<Connect subscription={graphqlOperation(SubscribeToDeleteTodos)} onSubscriptionMsg={this.onDeleteTodo}>
{() => {}}
</Connect>
</Segment>
);
}