Usé react (17.0.1) , react - dom (6.2.1) , react - router - dom (6.2.1) en mi código de Visual Studio, pero recibí el siguiente error en la consola del navegador:
Error:
El tipo de elemento no es válido: esperaba una cadena (para componentes integrados) o una clase/función (para componentes compuestos) pero obtuvo: indefinido. Probablemente olvidó exportar su componente desde el archivo en el que está definido, o puede haber mezclado las importaciones predeterminadas y con nombre. Compruebe el método de procesamiento de 'Aplicación'.
índice js
import React from 'react' import ReactDOM from 'react-dom' import App from './App' import { initContract } from './utils' window.nearInitPromise = initContract() .then(() => { ReactDOM.render( <App />, document.querySelector('#root') ) }) .catch(console.error)aplicación js
import 'regenerator-runtime/runtime' import React from 'react' import { login, logout } from './utils' import './global.css' import 'bootstrap/dist/css/bootstrap.min.css'; import {Container, Navbar, Nav, NavDropdown} from "react-bootstrap"; import { BrowserRouter as Router, Switch, Route, Link } from "react-router-dom"; import Home from './Components/Home' import NewPoll from './Components/NewPoll' import PollingStation from './Components/PollingStation' import getConfig from './config' const { networkId } = getConfig(process.env.NODE_ENV || 'development') export default function App() { return ( <Router> <Switch> <Route exact path='/'> <Home /> </Route> <Route exact path='/PollingStation'> <PollingStation /> </Route> <Route exact path='/NewPoll'> <NewPoll /> </Route> </Switch> </Router> ); }En la versión 6 react-router-dom , el componente Switch fue reemplazado por el componente Routes , y los componentes enrutados deben representarse en el element prop del componente Route .
<Router> <Routes> <Route path='/' element={<Home />} /> <Route path='/PollingStation' element={<PollingStation />} /> <Route path='/NewPoll' element={<NewPoll />} /> </Routes> </Router>