Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

208
Views
Error de React Router v6: todos los componentes secundarios de <Routes> deben ser <Route> o <React.Fragment>

El siguiente código de rutas de React probablemente funcione en React Router v5, pero da el siguiente error en React Router v6

Error: [Player] no es un componente <Route> . Todos los componentes secundarios de <Routes> deben ser <Route> o <React.Fragment>

¿Es posible actualizar las rutas/código de ruta para que funcione en React Router v6?

 function App() { // Some stuff here... const { players, offlinePlayers } = usePlayers(); return ( <ThemeProvider theme={theme}> <CssBaseline /> <BrowserRouter> <Routes> <Route path="/" element={<Home />} /> <Route path="/players"> {players.map((player) => { return ( <Route exact key={player.name} path={`/players/${player.name}`}> <Player player={player} /> </Route> ); })} </Route> </Routes> </BrowserRouter> </ThemeProvider> ) }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

El componente Player debe ser representado por un componente Route en el accesorio del element , no como un elemento secundario de Route .

 <BrowserRouter> <Routes> <Route path="/" element={<Home />} /> <Route path="/players"> {players.map((player) => ( <Route key={player.name} path={`/players/${player.name}`} element={<Player player={player} />} /> ))} </Route> </Routes> </BrowserRouter>
about 4 years ago · Juan Pablo Isaza Report

0

Debe mapear rutas en su ruta principal. Me gusta:

 <Route path="/players"> {players.map((player) => ( <Route exact key={player.name} path={`/players/${player.name}`}> <Player player={player} /> </Route> ); )} </Route>

Pero si desea renderizar un reproductor dinámico, entonces no use el código anterior para ese propósito porque no es el mejor enfoque si está usando un nombre de jugador dinámico. En tu código estás creando cada ruta para cada jugador. Entonces, usa el siguiente código:

 <Route path="/players"> <Route exact path={":playerName"} element={<Player/>} /> </Route>

Y en el componente Player, extraiga playerName de parámetros como:

 let { playerName } = useParams();
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!