данные, которые вы передаете в history.push
, не связаны с компонентом класса по своей природе, поэтому с классом или функциональным компонентом вам нужно получить доступ к состоянию местоположения откуда-то, а затем присвоить его состоянию вашего компонента
если функциональный компонент рендерится из маршрута, он должен получить history
в качестве реквизита, а затем вы можете получить эти данные, просто выполнив что-то вроде history.location.state
. затем вы можете делать с ним все, что захотите, и присваивать ему состояние через useState
. Я думаю, вы можете просто использовать этот хук useHistory
, чтобы также получить состояние местоположения.
что-то вроде
function MyComponent() {
const history = useHistory()
return <div>
{JSON.stringify(history.location.state)}
</div>
}
// Rendered via <Route component={MyOtherComponent} />
function MyOtherComponent({ history }) {
return <div>
{JSON.stringify(history.location.state)}
</div>
}