ReactJS - 路由更新链接但不刷新页面

标签 reactjs

我正在构建一个简单的 ReactJS 页面(我的第一个页面),但我遇到了路线问题。浏览器栏上的链接已更新(控制台中没有错误),但页面未刷新:

我的App.js是:

return(
   <div id="container">
      <Dashboard>{this.props.children}</Dashboard>
   </div>
);

仪表板是主页,中间呈现动态内容

 return(
    <!-- code for navbar, sidebar etc -->
      ...
      <Link to="/memory">Memory</Link>
      ....
     <div id="page-wrapper" className="page-wrapper">
        {this.props.children}
     </div>
);

所以我创建了两个小组件(显示在开头的 HomeMemory )

主页:

render() {
    return(
       <div className="row">
            HOMEPAGE
        </div>
    );
}

内存:

  render() {
        return(
           <div className="row">
                MEMORY
            </div>
        );
    }

路由器非常简单:

<Route component={App}>
    <Route path='/' component={Home}>
        <Route path='/memory' component={Memory} />
    </Route>
</Route>

当我转到我的家庭服务器(localhost:3000)时,会显示我的主页,但是当我单击Memory时链接没有发生任何事情...网址更改但 Memory组件未渲染...

更新

感谢我的回复,这是一个工作版本:

仪表板 -> 已删除

App.js

 return(
    <div id="container">
      <div className="content" id="wrapper">
        <Navigation />
        <div id="page-wrapper" className="page-wrapper" >
          {this.props.children || <Home />}
        </div>
      </div>
    </div>

这样导航将只包含与导航相关的部分(顶部栏和左侧栏)。

路线已更改:

<Route>
   <Route path='/' component={App}>
      <Route path='/memory' component={Memory} />
   </Route>
</Route>

现在,当我回家(localhost:3000)时,变量 this.props.children未定义,我渲染了 Home 组件(感谢 {this.props.children || <Home />} )。

在所有其他情况下,我渲染 Link 提供的正确组件

最佳答案

尝试这个解决方案:

路线:

   <Router>
    <Route path="/" component={App} >
      <Route path='/memory' component={Memory} />
    </Route>
   </Router>

和“应用程序”组件:

    return (
      <div id="container">
        <Dashboard/>{this.props.children || <Home />}
      </div>
);

别忘了,您需要连接应用程序中的“Home”组件。我可以向您发送完整的工作示例。

关于ReactJS - 路由更新链接但不刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35747410/

相关文章:

arrays - react 原生 : Key Value array or hasmap?

javascript - 如何通过react router传递和使用查询参数?

javascript - jsx if else 隐藏元素的简写

javascript - 如何将 json 编码的 php 变量转换为同一文件中的 JavaScript JSON 对象

javascript - 每次按键时 OnKeyDown 监听器调用 6 次

javascript - 如何解决无法读取react-native上未定义的属性 'push'?

reactjs - react 选择,无法更改文本框中占位符中文本的颜色

reactjs - 为什么我的 react-query 查询在卸载/挂载操作后重新获取?

reactjs - 如何使用 webpack 捆绑基于 ES6 的 React 组件并将 bundle 保留在 ES6 中?

javascript - 预期有一个赋值或函数调用,但在使用 graphcms 时却在 Reactjs 中看到了一个表达式