Я использую react version ^16.8.1
и react-router-dom version ^4.3.1
в своем проекте.
Я пытаюсь отправить часть состояния с реагирующим маршрутизатором следующим образом:
this.props.history.push({
pathname: '/',
state: {
successMessage: this.generateSuccessMessage(payload)
}
});
В другом компоненте, который я пытаюсьчтобы получить это состояние и отправить его в качестве опоры на дочерний компонент, например:
successMessage={this.props.location.state ? this.props.location.state.successMessage : null}
Но я продолжаю получать null
каждый раз, когда запускаю push.Я проверил state
в инструментах реагирования и протестировал Jest, но оба показывают, что state
не пересылается другому компоненту.Ниже приведены соответствующие маршруты.Я перемещаю состояние из OppgaveEditor
в историю и пытаюсь получить его в компоненте Dashboard
.
<Switch>
<Route exact path="/" render={(props) => <Redirect to="/dashboard" />} />
<Route path="/dashboard" render={(props) => <Dashboard user={this.state.user} {...props} ><OppgaveDashboard/></Dashboard>}/>} />
<Route path="/oppgave-editor/:id" render={(props) => <OppgaveEditor user={this.state.user} {...props} />}/>
<Route component={NotFound}/>
</Switch>
Что я делаю не так, как я могу это исправить?