解決React報錯Property does not exist on type 'JSX.IntrinsicElements'
總覽
當(dāng)組件名稱以小寫字母開頭時,會導(dǎo)致"Property does not exist on type 'JSX.IntrinsicElements'"錯誤。為了解決該錯誤,確保組件名稱總是以大寫字母開頭,安裝React聲明文件并重啟你的開發(fā)服務(wù)器。

這里有個示例用來展示錯誤是如何發(fā)生的。
// App.tsx
// ??? name starts with lowercase letter
function myComponent() {
return <h1>Hello world</h1>;
}
function App() {
return (
<div>
{/* ?? Property does not exist on type 'JSX.IntrinsicElements'. */}
<myComponent />
</div>
);
}
export default App;
上述代碼片段的問題在于,myComponent是以小寫字母開頭的。
組件大寫
為了解決該問題,請確保所有的組件名稱均以大寫字母開頭。
// App.tsx
function MyComponent() {
return <h1>Hello world</h1>;
}
function App() {
return (
<div>
<MyComponent />
</div>
);
}
export default App;
React使用這種命名慣例來區(qū)分p、div、span等內(nèi)置元素和我們定義的自定義組件。
如果錯誤仍未解決,嘗試重啟IDE和開發(fā)服務(wù)器。
類型聲明
如果那都沒有幫助,確保安裝了react的類型聲明文件。在項目的根目錄下打開終端,并運行下面的命令:
# ??? with NPM npm install --save-dev @types/react @types/react-dom # ---------------------------------------------- # ??? with YARN yarn add @types/react @types/react-dom --dev
如果錯誤仍未解決,嘗試刪除node_modules以及package-lock.json(不是package.json)文件,重新運行npm install并重啟IDE。
# ??? delete node_modules and package-lock.json rm -rf node_modules rm -f package-lock.json # ??? clean npm cache npm cache clean --force npm install
如果錯誤仍然存在,請確保重新啟動你的IDE和開發(fā)服務(wù)器。VSCode經(jīng)常出現(xiàn)故障,重啟有時會解決一些問題。
總結(jié)
導(dǎo)致該問題的原因是因為自定義組件沒有以大寫字母開頭,因為React是通過這種方式來區(qū)分內(nèi)置元素和自定義組件。
翻譯原文鏈接:bobbyhadz.com/blog/react-…
以上就是解決React報錯Property does not exist on type 'JSX.IntrinsicElements'的詳細內(nèi)容,更多關(guān)于React報錯JSX.IntrinsicElements的資料請關(guān)注腳本之家其它相關(guān)文章!
- vue3+ts中ref與reactive指定類型實現(xiàn)示例
- 前端React?Nextjs中的TS類型過濾實用技巧
- react?echarts?tree樹圖搜索展開功能示例詳解
- React.js源碼解析setState流程
- React報錯Function?components?cannot?have?string?refs
- Objects are not valid as a React child報錯解決
- TS裝飾器bindThis優(yōu)雅實現(xiàn)React類組件中this綁定
- React?setState是異步還是同步原理解析
- React使用useEffect解決setState副作用詳解
- react常見的ts類型實踐解析
相關(guān)文章
react-redux的connect與React.forwardRef結(jié)合ref失效的解決
這篇文章主要介紹了react-redux的connect與React.forwardRef結(jié)合ref失效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
react-player實現(xiàn)視頻播放與自定義進度條效果
本篇文章通過完整的代碼給大家介紹了react-player實現(xiàn)視頻播放與自定義進度條效果,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2022-01-01
關(guān)于React動態(tài)修改元素樣式的三種方式
這篇文章主要介紹了關(guān)于React動態(tài)修改元素樣式的三種方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08

