调用 forceFetch() 时出错
Error when calling forceFetch()
我试图在收到服务器端推送通知后使用 forceFetch() 更新 UI,但我在浏览器控制台中收到以下错误 (no网络上的实际 graphql 查询 编辑:查询实际到达服务器):
Server request for query Main failed for the following reasons:
1. args is not defined
query Main{node(id:"QWNjb3VudDow"){...F1}} fragment F0 on Si
^^^
这是代码的简化部分:
@relayContainer({
fragments: {
account: () => Relay.QL` fragment on Account {
id
userInSite {
id
site {
id
name
}
}
}`,
},
})
class SiteSettings extends Component {
render() {
return <div>
{this.props.account.userInSite.site.name}
</div>;
}
componentWillMount() {
setTimeout(() => this.props.relay.forceFetch(), 2000);
}
}
我不确定 args
指的是什么。我尝试将参数传递给 forceFetch
,但我的 none 尝试成功了。
我做错了什么?
原来我看错了地方(浏览器),而实际上错误来自服务器。
有人向我指出(感谢 Discord 用户组!)此表单中出现的错误总是来自服务器。
具体来说,args
是 GraphQL 模式中 resolve
函数的第二个参数。事实证明,我的 globalID to object 函数(nodeDefinitions
从 graphql-relay
导入)由于解析函数的复制和粘贴错误而出错,其中确实有一个 args
参数现在不见了。
我试图在收到服务器端推送通知后使用 forceFetch() 更新 UI,但我在浏览器控制台中收到以下错误 (no网络上的实际 graphql 查询 编辑:查询实际到达服务器):
Server request for query Main failed for the following reasons:
1. args is not defined
query Main{node(id:"QWNjb3VudDow"){...F1}} fragment F0 on Si
^^^
这是代码的简化部分:
@relayContainer({
fragments: {
account: () => Relay.QL` fragment on Account {
id
userInSite {
id
site {
id
name
}
}
}`,
},
})
class SiteSettings extends Component {
render() {
return <div>
{this.props.account.userInSite.site.name}
</div>;
}
componentWillMount() {
setTimeout(() => this.props.relay.forceFetch(), 2000);
}
}
我不确定 args
指的是什么。我尝试将参数传递给 forceFetch
,但我的 none 尝试成功了。
我做错了什么?
原来我看错了地方(浏览器),而实际上错误来自服务器。
有人向我指出(感谢 Discord 用户组!)此表单中出现的错误总是来自服务器。
具体来说,args
是 GraphQL 模式中 resolve
函数的第二个参数。事实证明,我的 globalID to object 函数(nodeDefinitions
从 graphql-relay
导入)由于解析函数的复制和粘贴错误而出错,其中确实有一个 args
参数现在不见了。