Reactjs graphql:运行时发生意外调用。可能是没有设置Babel转换,或者无法识别此呼叫站点
下面是我面临的实际错误的链接 我用简单的方式面对这个问题 我已经试过了关于巴别塔装载机的所有步骤 像 package.json 在package.json中,我在找到一些解决方案后尝试了这个方法,但没有修复它Reactjs graphql:运行时发生意外调用。可能是没有设置Babel转换,或者无法识别此呼叫站点,reactjs,graphql,Reactjs,Graphql,下面是我面临的实际错误的链接 我用简单的方式面对这个问题 我已经试过了关于巴别塔装载机的所有步骤 像 package.json 在package.json中,我在找到一些解决方案后尝试了这个方法,但没有修复它 "devDependencies": { "babel-plugin-relay": "^4.0.0", "graphql": "^14.3.1", "relay-compiler": "^4.0.0" }, 我从graphql开始,但面对这个问题,我已经创建
"devDependencies": {
"babel-plugin-relay": "^4.0.0",
"graphql": "^14.3.1",
"relay-compiler": "^4.0.0"
},
我从graphql开始,但面对这个问题,我已经创建了模式并成功运行了“纱线运行中继”
但这仍然是一个错误
import React from 'react';
import env from './environment';
import { graphql, QueryRenderer } from 'react-relay';
const App = () => (
<QueryRenderer
environment={env}
query={graphql`
query AppQuery{
allPersons {
id
name
}
}
`}
variables={{}}
render={({error, props}) => {
if (error) {
return <div>Error!</div>;
}if(!props){
return <div>Loading...</div>;
}
return <div>user</div>;
}}
/>
);
export default App;
从“React”导入React;
从“./environment”导入环境;
从“反应继电器”导入{graphql,QueryRenderer};
常量应用=()=>(
{
如果(错误){
返回错误!;
}如果(!道具){
返回装载。。。;
}
返回用户;
}}
/>
);
导出默认应用程序;
使用此命令
npm eject
然后打开package.json文件
添加此巴别塔设置
"babel": {
"presets": [
"react-app"
],
"plugins": [
[
"relay"
]
]
}
有许多地方可以从导入graphql。我看到上面你是从react继电器导入的 我发现如果我从
从“react relay”导入{graphql,QueryRenderer};
到
它解决了我的问题。我想这是因为由
“babel”确定的预设值:
key in the package.json适用于babel插件的graphql,而不是react relay的graphql。我遇到了这个问题,尝试了所有方法,但都没有帮助,直到我意识到我正在更新。babelrc但更改并没有被babel实际使用
这是因为我在webpack配置中直接使用babel loader和webpack以及指定的预设/插件
更新webpack配置以添加中继插件有效,而其他任何操作都无效。您可能正在为
create react app
用户查找graphql标签
,这是推荐的方法。[创建React应用程序-添加中继](
import { QueryRenderer } from "react-relay";
import graphql from 'babel-plugin-relay/macro';