पर काम नहीं कर रहा है मैंने RAID Router V4 पर अपग्रेड किया है और अब history.push
विधि से संघर्ष कर रहा है।ReactJS राउटर V4 history.push
मैं एक index.js फ़ाइल है:
import React from "react";
import { render } from "react-dom";
import { BrowserRouter, Route } from 'react-router-dom';
import createBrowserHistory from 'history/createBrowserHistory';
const history = createBrowserHistory();
import { Main} from "./components/Main";
import { About } from "./components/About";
import { Cars} from "./components/Cars";
class App extends React.Component {
render() {
return (
<BrowserRouter history={history}>
<div>
<Route path={"/"} component={Main} />
<Route path={"/cars"} component={Cars}/>
<Route path={"/about"} component={About}/>
</div>
</BrowserRouter>
)
}
}
render(<App/>, window.document.getElementById("app"));
और फिर मैं एक और फ़ाइल, मैं जहां एक सरल जोड़ा जो इस तरह दिखता है एक निश्चित पृष्ठ पर वापस जाने के लिए है:
import React from "react";
import createBrowserHistory from 'history/createBrowserHistory';
const history = createBrowserHistory();
export class Cars extends React.Component {
navigateBack() {
history.push('/')
}
render() {
return(
<div>
<h3>Overview of Cars</h3>
<p>Model: </p>
<button onClick={this.navigateBack} className="btn btn-primary">Back</button>
</div>
)
}
}
तो , मैं यह नहीं समझ सकता कि यहां क्या गलत हो रहा है। जब मैं बटन पर क्लिक करता हूं, तो URL /
में बदल जाता है लेकिन यह सब कुछ है। क्या कोई ऐसा व्यक्ति है जो मेरी मदद कर सकता है?
संपादित
मुझे पता चला है कि यह काम करता है जब मैं यह कर:
this.props.history.push('/home')
और
<button onClick={this.onNavigateHome.bind(this)}
लेकिन यह किसी भी तरह गलत लगता है ??
जब मैं
this.context.history.push('/home')
मैं Cannot read property 'context' of null
लेकिन क्यों मिलता है ?? क्या मेरा <BrowserRouter>
सेटअप गलत है ??
वैसे भी, मदद :)
ब्राउज़र राउटर डिफ़ॉल्ट रूप से एक निहित इतिहास है। आपको इसके बजाय राउटर का उपयोग करने की आवश्यकता होगी। संदर्भ: https://reacttraining.com/react-router/web/api/Router – Adriano
संभावित डुप्लिकेट [प्रतिक्रिया राउटर v4 में इतिहास को कैसे धक्का देना है?] (Https://stackoverflow.com/questions/42701129/ कैसे-टू-पुश-टू-हिस्ट्री-इन-रिएक्ट-राउटर-वी 4) – lux