簡體   English   中英

react-loadable異常“預期了字符串(對於內置組件)或類/函數(對於復合組件),但得到了:對象”

[英]react-loadable exception 'expected a string (for built-in components) or a class/function (for composite components) but got: object'

我正在使用react-loadable拆分我的反應代碼。 通過基本用法,它可以正常運行,但是當我自定義渲染輸出時,它會出現一些異常,如下所示:

 Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object. 

我的代碼是:

 function Loading(props) { if (props.error) { return <div>Error! <button onClick={ props.retry }>Retry</button></div>; } else { return <div>Loading...</div>; } } const PipelineConversion = Loadable({ loader: () => import('App/Reports/Components/PipelineConversion'), loading: <Loading />, render(loaded, props) { const PipConversion = loaded.default; return <PipConversion {...props} />; }, }); 

如果有人給我一些幫助或提示,我將不勝感激。 謝謝。

您應該將一個函數傳遞給loading屬性。 您的Loading變量已經是一個函數,您無需將其包裝在方括號<>

對於你的情況,這應該工作

Loadable({
  loading: Loading
});

或在功能中使用

Loadable({
  loading: () => <Loading />
});

對於那些因為他們是服務器端渲染應用程序(服務器babel轉碼文件)而吐出上述錯誤的人來說,可能是因為您使用的是airbnb babel-plugin-dynamic-import-node而未將noInterop設置為false .babelrc如下: { "plugins": [ ["dynamic-import-node", { "noInterop": true }] ] }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 React 16.3上下文:期望使用字符串(對於內置組件)或類/函數(對於復合組件),但得到:對象 React.createElement: 類型無效——需要一個字符串(對於內置組件)或一個類/函數(對於復合組件)但得到:對象 React-元素類型無效:需要一個字符串(對於內置組件)或一個類/函數(對於復合組件),但得到:對象 反應錯誤:元素類型無效:期望使用字符串(對於內置組件)或類/函數(對於復合組件),但得到:對象 反應:元素類型無效:應為字符串(對於內置組件)或類/函數(對於復合組件)但得到:對象 React.jsx:類型無效——需要一個字符串(對於內置組件)或一個類/函數(對於復合組件)但得到:object 反應錯誤:元素類型無效:應為字符串(對於內置組件)或類/函數(對於復合組件)但得到:未定義 元素類型無效:需要一個字符串(對於內置組件)或一個類/函數(對於復合組件)但得到:未定義的 React React.createElement:類型無效 - 預期是字符串(對於內置組件)或類/函數(對於復合組件)但得到:未定義 React.jsx:類型無效 - 需要一個字符串(對於內置組件)或一個類/函數(對於復合組件)但得到:未定義
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM