【问题标题】:React-router: components don't render unless refreshedReact-router:除非刷新,否则组件不会渲染
【发布时间】:2018-02-11 14:19:54
【问题描述】:

我有一个简单的应用程序组件,其中包含指向用户索引和缓存索引的链接(用于地理缓存应用程序)。我的链接渲染得很好,当点击它们时,它们会更改地址栏中的路径,但在我刷新页面之前,DOM 中没有任何变化,此时页面看起来应该是这样。这里发生了什么,传统的处理方式是什么?我也在使用 Redux,如果这有什么不同的话。以下是我的 App 组件返回的所有 JSX:

  <div>
    <nav>
      <Link to="/caches">Caches</Link>
      <Link to="/users">Users</Link>
    </nav>
    <div>
      <Switch>
      <Route exact path="/" component={Home}/>
      <Route path="/users" render={() => <div><UserList users={this.props.users}/></div>}/>
      <Route path="/caches" component={CacheList}/>
      </Switch>
    </div>
  </div>

【问题讨论】:

  • 你能发布整个 App 组件吗?是connect(...)ed?

标签: reactjs redux react-router


【解决方案1】:

这是 react-router-4 的常见问题。

在 react-redux 中使用 {pure: false} connect 或使用 withRouter HOC。

React router 4 does not update view on link, but does on refresh

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 2018-09-27
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多