当前位置: 首页 > 知识库问答 >
问题:

反应路由器不工作。反应JS

墨阳羽
2023-03-14

我的导航不工作,因为某些原因,我有另一个应用程序运行良好,但这一个不能找到错误,请帮助

反应路由器不工作。反应JS

我需要你的帮助。

使用react-router,我可以使用Link元素创建由react router本地处理的链接。

import './App.css';

import { CarsConsumer } from './components/Context';

import Car from './components/Car';
import CarsList from './components/CarsList';

import React, { Component } from 'react'

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

import Saved from './components/Saved';
import Help from './components/Help';
import Home from './components/Home';

export default class App extends Component {
  render() {
    return (<Router> 
      <div className="App">
        <header className="App-header">
        
                <nav>
                                <ul id='navUnorderedList'>
                                    <div id='leftNav'>
                                        <li>
                                            <Link to="/"> Home </Link>
                                        </li>
                                        <li>
                                            <Link to="/saved"> Saved </Link>
                                        </li>
                                    </div>
                                </ul>
                </nav>
                <Switch>
                        <Route path="/" component={ Home }>
                            
                        </Route>

                        <Route path="/saved" component={Saved}>

                        </Route>
                        
                        
                </Switch>
        

        <CarsList />
        </header>
      </div>
      </Router>
    )
  }
}

共有1个答案

西门展
2023-03-14

在你的回家路线上放准确的

<Route path="/" exact component={ Home }>

为什么放精确会有所不同?

React路由器进行部分匹配,所以/save部分匹配本地路由路径,所以它会再次错误地返回本地路由!

accure参数禁用路由的部分匹配,并确保仅在路径与当前URL完全匹配时才返回路由。

参考资料

CodeSandBox

 类似资料:
  • 我是新的反应,不知道为什么这不会起作用。 我的路由器代码在这里: 因此,这段代码所发生的情况是: localhost/显示良好

  • 我的目标是让http://mydomain/route1呈现React组件Component1,让http://mydomain/route2呈现component2。因此,我认为编写如下路线是很自然的: http://mydomain/route1按预期工作,但http://mydomain/route2反而呈现Component1。 然后我读了这个问题,并将路线改为:

  • 我已经稍微调整了React路由器的私有路由示例,以便与Redux玩得很好,但是当链接或重定向到其他页面时,不会呈现任何组件。这个例子可以在这里找到: https://reacttraining.com/react-router/web/example/auth-workflow 他们的PrivateRoute组件如下所示: 但是,因为我已经把它合并到一个Redux应用程序中,我不得不稍微调整一下私

  • 考虑以下事项: 我有一个应用模板,一个HeaderTemboard,和参数化的路由集与相同的处理程序(在应用模板)。我希望在没有找到东西的时候能够服务404路线。例如, /CA/SanFrancisco应该由区域查找和处理,而 /SanFranciscoz应该是404。 下面是我如何快速测试路线的。 问题是 /SanFranciscoz总是由区域页面处理,但我希望它是404。此外,如果我向第一个路

  • 问题内容: 我需要react-router v2 +的帮助,例如,当路由更改时,我必须更改navbar的类,因为它将 尝试在navbar组件中使用,但它显示 希望你的帮助 问题答案: 您的组件(如您在问题中所描述的)可能不是路由组件,对吗?通过我的意思是你在使用一个被加载特定路由配置。 仅可通过此类访问,因此您需要将其传递给您。 让我们举个例子: 您的路由器配置: 路线部分: