為什麼 React 元件需要以大寫字母開頭?
如果你曾經使用過 React
,你可能注意到 元件名稱
總是以 大寫字母
開頭。但你知道為什麼嗎?🤔
//這是錯誤的寫法,不會正常運作 ❌
export function myComponent() {
return (
<h1>你好,世界!</h1>
);
}
//正確的寫法 ✅
export function MyComponent() {
return (
<h1>你好,世界!</h1>
);
}
在 JSX
中,React 元件是以一種語法書寫的,這些語法會透過 React.createElement API
被轉換成純 JavaScript,這得益於 Babel
。這裡就是大寫字母的用途:
當 Babel
遇到以 大寫字母
開頭的名稱時,它知道正在處理的是 React 元件
,並將其轉換成 React Fiber 物件
(React 渲染系統的一個關鍵部分)。
另一方面,如果名稱以 小寫字母
開頭,Babel 會將其視為 字串而非元件
。這有助於 React 區分 原生 HTML 元素
和 自訂元件
!
所以,請永遠記得將元件名稱以大寫字母開頭,以便 React 能正確解析它們。💡
原文出處:https://dev.to/bhataasim/why-do-react-components-need-to-start-with-capital-letters-4c8k