我在 Stackblitz 上有一個示例 React 應用程式,但出現以下錯誤:
元素型別無效:應為字串(用于內置組件)或類/函式(用于復合組件)但得到:未定義。您可能忘記從定義組件的檔案中匯出組件,或者您可能混淆了默認匯入和命名匯入。
檢查
App.
這是代碼:
import React from 'react';
import { useEffect, useState } from 'react';
import { MyContext } from './MyContext';
import './style.css';
export default function App() {
const [myValue, setMyValue] = useState('');
useEffect(() => {
Promise.resolve('some value from promise').then((res) => {
console.log(res);
setMyValue(res);
});
}, []);
return (
<MyContext.provider value="{{myValue}}">
<div>
<h1>Hello StackBlitz!</h1>
<p>Start editing to see some magic happen :)</p>
</div>
</MyContext.provider>
);
}
正如您自己看到的(請參見下面的鏈接),我沒有混合默認和命名匯入,但我仍然收到上述錯誤...
這是 stackblitz 上的完整應用程式:
https://stackblitz.com/edit/react-xkxhxk?file=src/App.js
如果我注釋掉<MyContext.provider標簽,那么應用程式就可以作業。錯誤訊息似乎具有誤導性。
有人可以幫忙嗎?
uj5u.com熱心網友回復:
應該<MyContext.Provider>不是<MyContext.provider>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/410828.html
標籤:
上一篇:如何將專案添加到嵌套陣列的每一級
下一篇:找不到模塊:無法決議“顏色”
