【发布时间】:2018-07-02 11:25:39
【问题描述】:
我正在尝试使用Apollo GraphQL 制作的API,并在使用subscriptions-transport-ws 库的GraphQL 订阅的帮助下实时更新react 组件。对于 delete 操作,我收到 TypeError: Cannot add/remove sealed array elements 错误。这是来自试图从订阅更新数据的反应组件的代码。
componentWillReceiveProps(nextProps) {
if (!this.subscription && !nextProps.data.loading) {
let { subscribeToMore } = this.props.data
this.subscription = [subscribeToMore(
{
document: postDeleted,
updateQuery: (previousResult, { subscriptionData }) => {
const delPost = subscriptionData.data.postDeleted;
const mainData = previousResult.Posts;
let post = mainData.find(post => post.id == delPost.id);
let updatedList = mainData.splice(post, 1);
return updatedList;
},
}
)]
}
}
【问题讨论】:
标签: javascript reactjs graphql graphql-subscriptions