无法读取未定义的属性“getRequest” - 中继
Posted
技术标签:
【中文标题】无法读取未定义的属性“getRequest” - 中继【英文标题】:Cannot read property 'getRequest' of undefined - Relay 【发布时间】:2019-08-01 03:21:26 【问题描述】:我正在尝试进行第一个中继查询。我做了npm run relay
和npm run build
。一切正常,但在控制台中我收到错误:
有人知道是什么原因导致这个错误吗?
更新。
Table.js(我要查询的组件)
import React, Component from 'react';
import graphql, QueryRenderer from 'react-relay';
const environment = import('../../environment.js');
class Table extends Component
render()
return (
<QueryRenderer
environment=environment
query=graphql`
query TableQuery
users
data
name
`
render=(error, props) =>
return <div>User: 1</div>;
/>
);
export default Table;
environment.js(中继配置)
import
Environment,
Network,
RecordSource,
Store,
from 'relay-runtime';
function fetchQuery(
operation,
variables,
)
return fetch('/graphql',
method: 'POST',
headers:
'content-type': 'application/json'
,
body: JSON.stringify(
query: operation.text,
variables,
),
).then(response =>
return response.json();
);
const network = Network.create(fetchQuery);
const store = new Store(new RecordSource());
const environment = new Environment(
network,
store
);
export default environment;
一切都来自文档设置页面。
【问题讨论】:
你能分享导致这个错误的代码吗?如果他们只能看到控制台中的错误,那么没有人能够帮助您。 @Matt 我更新了。 【参考方案1】:在Table.js
中,您似乎混淆了导入的语法:
const environment = import('../../environment.js'); // Wrong
const environment = require('../../environment.js'); // OK
import environment from '../../environment.js'; // OK
使用import('../../environment.js')
使其成为一个动态导入,它返回一个 Promise(取决于您的捆绑器配置)并且不太可能是您想要的。
【讨论】:
以上是关于无法读取未定义的属性“getRequest” - 中继的主要内容,如果未能解决你的问题,请参考以下文章
无法读取未定义类型错误的属性“推送”:无法读取未定义错误的属性“推送”
带有 Ionic 4 的 SQLite?无法读取未定义类型错误的属性“then”:无法读取未定义的属性“then”