【发布时间】:2022-01-10 14:49:38
【问题描述】:
我对 router-dom 有疑问。我正在根据 youtube 教程工作,我无法解决以下错误:
[landingPageLayout] 不是组件。的所有子组件必须是 a 或
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import { BrowserRouter } from 'react-router-dom';
import App from './App';
import reportWebVitals from './reportWebVitals';
ReactDOM.render(
<React.StrictMode>
<BrowserRouter>
<App />
</BrowserRouter>
</React.StrictMode>,
document.getElementById('root')
);
App.js
import './App.css';
import { Routes, Route } from 'react-router-dom';
import landingPageLayout from './components/layouts/landingPageLayout';
import homePage from './components/pages/homePage';
const App = () => {
return (
<Routes>
<landingPageLayout>
<Route path="/">
<homePage/>
</Route>
</landingPageLayout>
</Routes>
);
}
landingPageLayout.js
import React from 'react';
import Header from '../navigation/header';
const landingPageLayout = ({...otherProps}) => {
return (
<div>
<Header/>
</div>
)
}
export default landingPageLayout;
【问题讨论】:
-
在 JSX 中,自定义组件需要大写。所以
LandingPageLayout。小写是为原生 dom 元素保留的,例如div。 -
部分工作,组件 LandingPageLayout 突出显示它们正在使用,npm 编译没有错误但是当我进入主机页面时仍然存在相同的错误:[LandingPageLayout] 不是
组件。 的所有子组件必须是 或
标签: javascript reactjs react-router-dom