javascript - React Router v6 错误 : All component children of <Routes> must be a <Route> or <React. 片段>

标签 javascript reactjs react-router react-router-dom

以下 React 路由代码可能适用于 React Router v5,但在 React Router v6 中会出现以下错误

Error: [Player] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>

是否可以更新 Routes/Route 代码,使其在 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>
  )

}

最佳答案

Player 组件应该由 element 属性上的 Route 组件呈现,而不是作为 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>

关于javascript - React Router v6 错误 : All component children of <Routes> must be a <Route> or <React. 片段>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71333482/

相关文章:

javascript - 如何在javascript中将stringyfied数组值转换为float

javascript - 在 Next.js 中使用带有 MDX 的 Remark 和 Rehype 插件(使用 @next/mdx)

reactjs - 使用 React Redux mapStateToProps 的可重用组件

express - 使用react-router和expressroutes.js有什么区别

javascript - heroku Node js redis出错

javascript - 从 phtml 文件访问 Javascript 命名空间

php - 在 PHP 中登录 Javascript

javascript - 在 react.js 中扩展样式对象

reactjs - React-router如何使用Javascript对象配置索引路由?

javascript - React 将 prop 传递给组件返回 undefined