首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么此特定的React路由器配置不起作用?

为什么此特定的React路由器配置不起作用?
EN

Stack Overflow用户
提问于 2019-10-11 15:59:55
回答 3查看 87关注 0票数 0

下面的代码将呈现一个我可以单击的链接,当我单击它时,我可以看到URL更改为/japanese_game作为URL path。然而..。页面上似乎没有什么变化,显示“日语”的链接仍然存在,没有变化。它应该显示<Route path="/japanese_game">中的其他内容,或者更确切地说,这是我希望它做的事情。

我做错了什么?

代码语言:javascript
复制
import React from 'react';
import {
    BrowserRouter as Router,
    Switch,
    Route,
    Link
} from "react-router-dom";
import './App.css';

function App() {
    return (
        <div className="App container">
            <Router>
                <Switch>
                    <Route path="/">
                        <Link to="/japanese_game">
                            <div className="language-option">
                                Japanese
                                日本語
                            </div>
                        </Link>
                    </Route>
                    <Route path="/japanese_game">
                        <h1>Japanese Game</h1>
                        <Link to="/">
                            Go back
                        </Link>
                    </Route>
                </Switch>
            </Router>
        </div>
    );
}

export default App;
EN

回答 3

Stack Overflow用户

发布于 2019-10-11 16:01:26

更改顺序,它会根据先匹配的结果进行比较和选择。将带有"/japanese_game“的路由放在第一位。

票数 1
EN

Stack Overflow用户

发布于 2019-10-11 21:37:41

<Switch>组件呈现他匹配的第一个路由(doc)。

当您转到/japanese_game时,您还会遇到/路由,因此他会在/路由下呈现组件。

为了防止出现这种情况,您有两个选择:

  1. exact道具添加到您的路径中:/ (hightly
  2. exact/ of your route (根本不推荐)
票数 1
EN

Stack Overflow用户

发布于 2019-10-11 16:04:00

更改路由的顺序,或者使用“精确”标志。

<Route exact path="/japanese_game">

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58336774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档