Я пытаюсь передать реквизит другому компоненту в React, используя history.pu sh (). Мой код выглядит так:
history.push({pathname:`/tickets/solveticket`,
state:{ticket:this.props.ticketInfo, user:this.props.currentUser}});
window.location.reload()
история экспортируется так:
import { createBrowserHistory } from 'history';
export const history = createBrowserHistory();
и моя конфигурация маршрута:
import {BrowserRouter as Router,Route,Switch,Link } from "react-router-dom";
<Router history={history}>
... <PrivateRoute exact path="/" component={Dashboard} />
<Route exact path="/login" component={Login} />
<Route exact path="/register" component={Register} />
<PrivateRoute exact path="/dashboard" component={Dashboard} />
`
и компонент, который отображает URL-адрес / tickets / solveticket, принимает параметры истории, например:
constructor(props){
super(props)
this.state={
ticketToSolve:this.props.location.state.ticket,
currentUser:this.props.location.state.user
}
}
, и все же я получаю эту ошибку:
TypeError: Cannot read property ' ticket 'of undefined
Я пытался обернуть все в withRouter, и он все еще не работает. Я также попытался использовать this.props.history.pu sh вместо экспортированной истории, но в этом случае моя история не распознается. Я целый день гуглял и искал идеи, что можно попробовать, так что если кто-нибудь есть идеи, пожалуйста, просто запишите это .. спасибо заранее:)