为了账号安全,请及时绑定邮箱和手机立即绑定

ReactJS:嵌套导航不起作用,未到达预期页面

ReactJS:嵌套导航不起作用,未到达预期页面

智慧大石 2022-12-22 12:44:59
使用 React^16.13.1和 react-router-dom ^5.2.0,我们有多个导航文件来进行嵌套导航,第一个Navigation.js可以正常运行和重定向,但第二个Navigation.js不能按我们预期的那样工作。使用创建了一个反应APPnpx create-react-app nested列出重要文件以供审查:应用程序.jsimport React from 'react';import logo from './logo.svg';import './App.css';import Navigation from "./Navigation";import { BrowserRouter } from "react-router-dom";const App = () => {  return (    <BrowserRouter>      <Navigation />    </BrowserRouter>  );};export default App;导航.jsimport React from "react";import { Switch, Route, BrowserRouter } from "react-router-dom";import nestedNavigation from "./nested/Navigation";const NotFound = () => <h1>Not Found</h1>;const Navigation = () => {  return (      <Switch>        <Route exact path="/welcome" component={nestedNavigation} />        <Route path="/" component={NotFound} />      </Switch>  );};export default Navigation;nested/Navigation.js嵌套导航-第二个import React from "react";import {  Switch,  Route,  BrowserRouter,  useRouteMatch,} from "react-router-dom";import Welcome from "../Welcome"const Navigation = () => {    let { path, url } = useRouteMatch();    debugger;    return (        <Switch>            <Route path={`${path}/nested`} exact component={Welcome} />        </Switch>    );}export default Navigation;
查看完整描述

1 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

嵌套路由需要最新完整版本的 React Router 中的完整路径,将上层组件的其余 URL 添加到 path 属性中。来自 react-router Docs 的 codesandbox

还要从欢迎中删除确切的内容。子路线不太可能与 exact 一起工作,因为它们不完全是那条路线!


查看完整回答
反对 回复 2022-12-22
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号