reactjs - React-router:除非刷新,否则组件不会渲染

标签 reactjs redux react-router

我有一个简单的应用程序组件,其中包含指向用户索引和缓存索引(用于地理藏宝应用程序)的链接。我的链接呈现良好,当单击时,它们会更改地址栏中的路径,但 DOM 中不会发生任何变化,直到我刷新页面,此时页面看起来应有的样子。这是怎么回事?处理它的传统方法是什么?我也在使用 Redux,如果这有什么区别的话。以下是我的应用程序组件返回的所有 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>

最佳答案

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

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

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

关于reactjs - React-router:除非刷新,否则组件不会渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46018507/

相关文章:

javascript - 提供给 `open` 的类型 `function` 的无效 prop `Dialog`

javascript - 错误 : Invariant Violation: Touchable child must either be native or forward setNativeProps to a native component stack

reactjs - 在react-redux-router中测试onEnter

javascript - React Context 不渲染组件

javascript - 在 React 中使用 Grid 时 Material UI 错误

mysql - 如何防止sequelizer删除数据库

reactjs - 如何为 saga 错误处理创建通用包装函数?

javascript - 在 React 项目中添加 Redux

google-analytics - 如何使 React 应用程序 SEO 友好

reactjs - React Router Lazy 组件不起作用