React-router v4 更新 url 但不渲染组件

基里尔

我正在使用 react-router v4,没有 redux。代码示例如下:

class MainPage extends Component {
    render() {
        return (
            <div className="MainPage">
              <BrowserRouter>
                <Switch>
                  {/* <Route exact path='/' /> */}
                  <Route path='/signin' component={SignIn}/>
                  <Route path='/signup' component={SignUp} />
                  <Redirect from='*' to='/' />
                </Switch>
              </BrowserRouter>
            </div>
        );
    }
}

当我使用 Link 时,它会更新浏览器中的 URL 但不呈现任何内容,没有任何反应。当我刷新时,一切都变得很好并且组件呈现;

export default class Navbar extends Component {
    render() {
        return (
            <div className="navbar">
              <BrowserRouter>
                <div>
                    <Link to='/signin'>Sign in</Link>
                    <Link to='/signup'>Sign up</Link>
                </div>
              </BrowserRouter>
            </div>
        );
    }
}

我已经尝试了一切,即使是 withRouter(Component),但它说 with router 只能在内部使用我该如何处理?

开发者馆

这是工作代码。正如其他人所解释的那样,您应该使用一个BrowserRouter. 如果你想一直渲染你的Navbar组件,那么你应该把它放在上面Switch但下面,BrowserRouter因此你需要Link在那里。

const Navbar = () => (
      <div className="navbar">
            <Link to='/signin'>Sign in</Link>
            <Link to='/signup'>Sign up</Link>
      </div>
);

class MainPage extends React.Component {
  render() {
    return (
      <div className="MainPage">
        <BrowserRouter>
            <div>
                <Navbar />
                <Switch>
                    {/* <Route exact path='/' /> */}
                    <Route path='/signin' component={SignIn} />
                    <Route path='/signup' component={SignUp} />
                    <Redirect from='*' to='/' />
               </Switch>
            </div>
        </BrowserRouter>
      </div>
    );
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React Router URL更新,但组件未更新

来自分类Dev

redux/react-router v4 中的组件是否应该更新

来自分类Dev

相似的 URI 但不同的组件 - React Router V4

来自分类Dev

如何包装React Router v4的NavLink组件?

来自分类Dev

React Router v4 不显示组件

来自分类Dev

React-router 更新 url 但组件未加载

来自分类Dev

React-router 更改位置但不渲染组件

来自分类Dev

React Router V4 不更新可选参数更改的内容

来自分类Dev

React Router V4 在 URL 中使用名称而不是数字

来自分类Dev

React Router V4 - 无法在道具中获取 URL 参数

来自分类Dev

正确使用 react router v4

来自分类Dev

带有 ReactCSSTransitionGroup 附加组件的 React Router v4 组件转换

来自分类Dev

React Router Link未渲染组件,但更改了URL

来自分类Dev

当文件分离时,React Router v4 不渲染任何内容

来自分类Dev

react-router v4:以编程方式触发重定向(无需渲染 <Redirect />)

来自分类Dev

按钮提交时未加载 React Router v4 组件

来自分类Dev

React-router-dom v4 路由以及如何在子组件内部显示

来自分类Dev

使用 React Router V4 重定向到 ReactJS 组件上的服务器路由

来自分类Dev

react-router v4 参数和面包屑组件

来自分类Dev

如何使用react-intl,react-router-dom v4和TypeScript对React组件进行单元测试

来自分类Dev

当使用路由渲染道具而不是路由组件道具时,如何访问 react-router-dom 4 中的 url args?

来自分类Dev

React Router不渲染组件

来自分类常见问题

react-router(v4)如何返回?

来自分类Dev

React Router v4和MatchWithFade出现问题

来自分类Dev

React-Router v4 添加子路由

来自分类Dev

React Router v4:参数与 404 冲突

来自分类Dev

React Router v4 - 嵌套路由问题

来自分类Dev

React Router (v4) 未在 componentDidUpdate() 中重定向

来自分类Dev

多级静态路由架构 react router v4

Related 相关文章

  1. 1

    React Router URL更新,但组件未更新

  2. 2

    redux/react-router v4 中的组件是否应该更新

  3. 3

    相似的 URI 但不同的组件 - React Router V4

  4. 4

    如何包装React Router v4的NavLink组件?

  5. 5

    React Router v4 不显示组件

  6. 6

    React-router 更新 url 但组件未加载

  7. 7

    React-router 更改位置但不渲染组件

  8. 8

    React Router V4 不更新可选参数更改的内容

  9. 9

    React Router V4 在 URL 中使用名称而不是数字

  10. 10

    React Router V4 - 无法在道具中获取 URL 参数

  11. 11

    正确使用 react router v4

  12. 12

    带有 ReactCSSTransitionGroup 附加组件的 React Router v4 组件转换

  13. 13

    React Router Link未渲染组件,但更改了URL

  14. 14

    当文件分离时,React Router v4 不渲染任何内容

  15. 15

    react-router v4:以编程方式触发重定向(无需渲染 <Redirect />)

  16. 16

    按钮提交时未加载 React Router v4 组件

  17. 17

    React-router-dom v4 路由以及如何在子组件内部显示

  18. 18

    使用 React Router V4 重定向到 ReactJS 组件上的服务器路由

  19. 19

    react-router v4 参数和面包屑组件

  20. 20

    如何使用react-intl,react-router-dom v4和TypeScript对React组件进行单元测试

  21. 21

    当使用路由渲染道具而不是路由组件道具时,如何访问 react-router-dom 4 中的 url args?

  22. 22

    React Router不渲染组件

  23. 23

    react-router(v4)如何返回?

  24. 24

    React Router v4和MatchWithFade出现问题

  25. 25

    React-Router v4 添加子路由

  26. 26

    React Router v4:参数与 404 冲突

  27. 27

    React Router v4 - 嵌套路由问题

  28. 28

    React Router (v4) 未在 componentDidUpdate() 中重定向

  29. 29

    多级静态路由架构 react router v4

热门标签

归档