我试图创建一个与某些路由器反应的简单页面,但出现以下错误:元素类型无效:期望使用字符串(对于内置组件)或类/函数(对于复合组件),但是得到:未定义。 APP.JS
import React, {Component} from 'react';
import {Route, BrowserRouter as Router, Switch, Link } from "react-router-dom"
import Contact from "./Contact"
import Tournoi from "./Tournoi"
import Home from "./Home"
import {NavigationBar} from "./components/NavigationBar"
class App extends Component{
render(){
return (
<React.Framgent>
<NavigationBar/>
<Router>
<Switch>
<Route exact path="/" component={Home}/>
<Route path="/Contact" component={Contact}/>
<Route path="/Tournoi" component={Tournoi}/>
</Switch>
</Router>
</React.Framgent>
);
}
}
export default App;
Index.js
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
// If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls.
serviceWorker.unregister();
答案 0 :(得分:0)
默认情况下,我的组件NavigationBar不会导出,而其他页面是
导航栏
import React from 'react'
import {Nav,Navbar} from 'react-bootstrap';
import styled from "styled-components";
const Styles = styled.div `
.navbar {
background-color: #222;
}
.navbar-brand .navbar-nav .nav-link{
color:#bbb;
&hover{
color:white;
}
}
`;
export const NavigationBar = () => (
<Styles>
<Navbar expand="lg">
<Navbar.Brand href="/"></Navbar.Brand>
<Navbar.Toggle aria-controls="basic-navbar-nav"/>
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="m1-auto">
<Nav.Item><Nav.Link href="/">Home</Nav.Link> </Nav.Item>
<Nav.Item><Nav.Link href="/Contact">Contact</Nav.Link> </Nav.Item>
<Nav.Item><Nav.Link href="/Tournoi">Tournoi</Nav.Link> </Nav.Item>
</Nav>
</Navbar.Collapse>
</Navbar>
</Styles>
)
我的页面结构非常简单
import React from 'react';
export default function Home (){
return(
<div className="Bannière1">
<h1>Bienvenue vous êtes sur la page d'accueil</h1>
<button> Créer un tournoi </button> <button>Voir notre générateur de Bracket</button>
</div>
)
}