如何更新在“ react-router-dom”路由上呈现的组件?

时间:2019-10-25 00:05:12

标签: javascript reactjs react-router react-router-dom

当我的应用程序运行componentDidMount()时,我会获取数据

async componentDidMount() {
  try {
    let players = await playersDAO.read();
    this.setState({ players: players });
  } catch (e) {
    console.log(e);
  }
}

然后将其显示在由react-router-dom由Route渲染的组件上

<BrowserRouter>
  <Switch>
    <Route
      key="players"
      path="/players"
      render={() => <Players rows={this.state.players} />}
    />
  </Switch>
</BrowserRouter>

我不知道为什么,但是获取数据时组件不会更新。也许(很有可能)我做错了什么,但是有人可以帮助我吗?

离题:我使用Route的渲染专有性,因为我需要为我的组件传递props,有人知道这样做的更好方法吗?

1 个答案:

答案 0 :(得分:0)

您可以在设置状态后使用history.push('/players')呼叫路线。