【问题标题】:react router not showing component on url update反应路由器未在 url 更新时显示组件
【发布时间】:2020-05-16 22:33:11
【问题描述】:

对于大多数人来说可能是一个简单的问题,但是为什么当我的 url 更新时我的组件没有呈现,当我手动更新 url 时它可以工作,但我使用的链接却没有?

我在下面包含了我的链接组件,显示栏应显示为导航(在每条路线上都是如此),但 Newcase 组件应仅显示在其指定的路线上。我已经尝试在它上面使用确切的道具。

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

export default class DisplayBar extends Component {
    render() {
        return (

            <div>
             <Router>
                <Link to="/">home</Link>
                <Link to="/form">form</Link>
            </Router>
            </div>
        )
    }
}

这是我的主 app.js 中的路由器

render(){
    return (

      <Router>

        <Route path = '/' component ={DisplayBar} />
        <switch>
          <Route exact path='/form' component = {NewCase} />
        </switch> 

      </Router>
    );
  }

【问题讨论】:

    标签: reactjs react-router-dom


    【解决方案1】:

    你不需要用路由器包装你的链接,删除Router

                    <Link to="/">home</Link>
                    <Link to="/form">form</Link>
    

    并将&lt;Route path = '/' component ={DisplayBar} /&gt; 放在开关内

    <switch>
      <Route path = '/' component ={DisplayBar} />
      <Route exact path='/form' component = {UserAdd} />
    </switch> 
    

    【讨论】:

    • 糟糕!谢谢!我会试试这个。
    猜你喜欢
    • 2018-11-13
    • 2018-01-05
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多