reactjs react-router-dom< routes>在localhost:3000中不呈现任何内容

qyuhtwio  于 2023-04-11  发布在  React
关注(0)|答案(2)|浏览(100)

我试图使用基于URL渲染不同的组件。我的代码在图像中。由于某种原因,localhost:3000除了加载时没有渲染任何东西。

class App extends Component {
  render() {
    return (
      <Router>
        <div className="App">
          <NavBar />

          <Routes>
            <Route exact path="/" component={<Landing />}>
              <Route exact path="/register" component={<Register />} />
              <Route exact path="/login" component={<Login />} />
            </Route>
          </Routes>
        </div>
      </Router>
    );
  }
}

a64a0gku

a64a0gku1#

您使用了不正确的prop将组件渲染到路由中。在v6中,Route组件都只使用element prop。这是v5中componentrenderchildren prop之间的突破性变化。

<Routes>
  <Route path="/" element={<Landing />}>
    <Route path="register" element={<Register />} />
    <Route path="login" element={<Login />} />
  </Route>
</Routes>

643ylb08

643ylb082#

除了这个,没有别的对我有用。如果你的index.js中有类似下面的东西:

root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

删除<React.StrictMode>元素,渲染将正常工作。

相关问题