के साथ बैक बटन पर राज्य को कैसे पुनर्प्राप्त करें यदि मेरे पास एक साधारण प्रतिक्रिया घटक है जो बटन के लिए क्लिक गिनती रिकॉर्ड करता है और प्रत्येक क्लिक पर यूआरएल को बदले बिना एक नया इतिहास स्थिति रिकॉर्ड करता है। जब उपयोगकर्ता वापस क्लिक करता है तो मैं राज्य को कैसे पुनर्स्थापित कर सकता हूं?प्रतिक्रिया
मैं मूल जावास्क्रिप्ट इतिहास ऑब्जेक्ट का उपयोग कर यहां कर सकता हूं, लेकिन यह तब विफल हो जाता है जब उपयोगकर्ता पहले राज्य में वापस आ जाता है और एक अलग घटक से वापस इस स्थिति में बदल जाता है।
मुझे संदेह है कि प्रतिक्रिया-राउटर (1.0) का उपयोग करके ऐसा करने के लिए बेहतर है?
import React, { Component } from 'react';
export default class Foo extends Component {
state = {
clickCount: 0,
};
componentWillMount() {
window.onpopstate = (event) => {
if (event.state.clickCount) {
this.setState({ clickCount: event.state.clickCount });
}
};
}
onClick() {
const newClickCount = this.state.clickCount + 1;
const newState = { clickCount: newClickCount };
this.setState(newState);
history.pushState(newState, '');
}
render() {
return (
<div>
<button onClick={this.onClick.bind(this)}>Click me</button>
<div>Clicked {this.state.clickCount} times</div>
</div>
);
}
}
प्रतिक्रिया-राउटर में चेकआउट ब्राउज़र इतिहास। –
शायद [यह उत्तर] (http://stackoverflow.com/questions/29442206/how-to-pass-both-this-state-and-this-props-to-routes-using-react-router) सहायता। –
आप अपने राज्य के लिए स्थानीय स्टोरेज का उपयोग कर सकते हैं। क्यों नहीं? –