Reactjs 为什么组件没有';t嵌套路由中的加载(react)

Reactjs 为什么组件没有';t嵌套路由中的加载(react),reactjs,react-router-dom,nested-routes,Reactjs,React Router Dom,Nested Routes,在这里,我想将ShowIt组件作为嵌套路由加载,但它不起作用,我的意思是,当我单击链接时,我转到该路由,但ShowIt组件(hello world)不加载,我真的需要解决这个问题 请帮帮我 import React from 'react'; import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom'; const ShowIt = <div>Hello w

在这里,我想将ShowIt组件作为嵌套路由加载,但它不起作用,我的意思是,当我单击链接时,我转到该路由,但ShowIt组件(hello world)不加载,我真的需要解决这个问题
请帮帮我

    import React from 'react';
import {
  BrowserRouter as Router,
  Switch,
  Route,
  Link
} from 'react-router-dom';

const ShowIt = <div>Hello world</div>;

const Links = (
  <div>
    <Link to="news/components">Go to Components</Link>
    <br/>
    <Link to="news/states-vs-props">Go to states vs props</Link>
  </div>
);

const News = () => {
  return (
    <div>
      {
        Links
      }
      <Router>
        <Switch>
          <Route path="news/:id">
            <ShowIt />
          </Route>
        </Switch>
      </Router>
    </div>
  );
};

export default News;
从“React”导入React;
进口{
BrowserRouter作为路由器,
转换
路线,,
链接
}从“反应路由器dom”;
const ShowIt=你好世界;
常量链接=(
转到组件

去美国vs道具 ); 康斯特新闻=()=>{ 返回( { 链接 } ); }; 导出默认消息;
您不应在
外部使用
。这样做:

<Router>
  {Links}
  <Switch>
    <Route path="/news/:id">
      <ShowIt />
    </Route>
  </Switch>
</Router>
  • 使用
    /some route
    代替
    some route
  • const ShowIt = () => <div>Hello world</div>;
    
    <Link to="/news/components">Go to Components</Link>
    
    import { useParams } from "react-router-dom";
    // ...
    const { id } = useParams<{ id: string }>();