我正在尝试使用
Relay Suscriptions Docs
import { graphql, requestSubscription } from 'react-relay';
import environment from '../relay/environment';
const subscription = graphql`
subscription somethingHappenedSubscription {
somethingHappened {
id
status
}
}
`;
export default () => {
const subscriptionConfig = {
subscription,
updater: store => console.log('updater hit');
onError: error => console.log('An error occured:', error),
};
requestSubscription(environment, subscriptionConfig);
};
我把它吃了如下
import somethingHappenedSubscription from '../subscriptions/somethingHappened.js'
const MyComponent = () => {
somethingHappenedSubscription()
// return something simple
}
我已经能够确认这一切都是正确的,我已经看到了
updater
功能,尽管通常不是
最后
将开始失败,并出现以下错误:
An error occured: TypeError: observable.do is not a function
at Object.execute (index.js:604)
at RelayModernEnvironment.js:251
at _subscribe (RelayObservable.js:579)
at RelayObservable.subscribe (RelayObservable.js:280)
at RelayObservable.js:195
at _subscribe (RelayObservable.js:579)
at RelayObservable.subscribe (RelayObservable.js:280)
at RelayObservable.js:195
at _subscribe (RelayObservable.js:579)
at RelayObservable.subscribe (RelayObservable.js:280)
到处都找过了,但不知道它是从哪里来的,为什么它有时只会失败?
我正在使用以下软件包
"react-relay": "^7.1.0",
"relay": "^0.8.0-1",
"relay-hooks": "^1.2.5",
更新
我注意到一些有趣的事情,可能是一个贡献者(虽然我真的不知道怎么做),如果我
relay-devtools
正在运行(桌面版本)。
不知道这是如何关联的,但似乎只有在我打开它的时候才会发生。