javascript - 无法读取未定义的属性“getRequest” - 中继
问题描述
我正在尝试进行第一个中继查询。我做了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;
一切都来自文档设置页面。
解决方案
在Table.js
中,您似乎混淆了导入的语法:
const environment = import('../../environment.js'); // Wrong
const environment = require('../../environment.js'); // OK
import environment from '../../environment.js'; // OK
Usingimport('../../environment.js')
使它成为一个动态导入,它返回一个 Promise(取决于你的捆绑器配置)并且不太可能是你想要的。
推荐阅读
- java - 如何传递一个字符串参数,使其成为类方法调用的一部分?
- php - PHP:在不实例化类的情况下获取所有类属性(公共和私有)的列表
- eclipse - “税收无法解析为变量”
- r - 使用 data.tables 链接多个 data.table::merge 操作
- python - 如何使在一个终端中运行的程序的输出成为另一个终端的输入?
- javascript - 基于单选按钮显示/隐藏表单字段
- r - R:多个组的独立 t 检验
- java - \\s+ 和 \s+ 有什么区别
- vb.net - 根据预定义的报价和时间范围计算持续时间和定价
- parsing - 制作玩具语言解释器、AST 变量和作用域