使用GraphQL查询组件时导出错误?

时间:2018-04-08 01:01:48

标签: javascript meteor graphql apollo-client

我正在研究新的(和令人敬畏的)GraphQL查询组件。我的导出声明似乎有问题。我收到了控制台错误:

  

警告:React.createElement:type无效 - 需要一个字符串   (对于内置组件)或类/函数(对于复合   组件)但得到:未定义。你可能忘了导出你的   来自其定义的文件中的组件,或者您可能已经混淆了   默认和命名导入。

     

检查index.js的渲染方法。   ..... App.js:30:4

     

.....

     

错误:元素类型无效:期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:undefined。您可能忘记从其定义的文件中导出组件,或者您可能混淆了默认导入和命名导入。   ..... index.js / index.js:77:4

以下是代码:

App.js

14 import App from "../../ui/App";
   .....
70 const ApolloApp = () => (
71     <ApolloProvider client={client}>
72         <App />
73     </ApolloProvider>
74 );
75 
76 Meteor.startup(() => {
77     render(<ApolloApp />, document.getElementById("app"));
78 });

就命名与默认导入而言,这是来自{{1}}的匹配导入语句:

import.js

{{1}}

如何更正此错误?

提前致谢所有信息。

1 个答案:

答案 0 :(得分:1)

当组件不是React组件,字符串或函数时,会出现此错误消息。通常这是因为其中一个是undefined。调试此方法的最简单方法是中断render方法并查看组件,或者console.log所有组件(console.log(Query, RegisterForm, ...))。