के साथ अनमाउंट किया जाना चाहिए जब मैं React-Router घटक की बात करता हूं तो मैं डफर हूं। हालांकि, जब मैं लिंक के माध्यम से चलता हूं तो मैं अपने घटकों को अनमाउंट क्यों कर सकता हूं, इस बारे में स्पष्टीकरण नहीं मिला? और इसे कैसे रोकें?घटक को रोकें रेक्ट-राउटर
मेरे उदाहरण में मैं एक घटक है कि टाइमर और द्वारा
सामग्री फिर से प्रस्तुत करना मैं एक त्रुटि मिल गया है:
/*global define, Backbone, React, $, Request, Router, Route, Link */
var App = React.createClass({
render: function() {
return (
<div>
<h1>App</h1>
<ul>
<li><Link to="/about">About</Link></li>
<li><Link to="/timer">Timer</Link></li>
</ul>
{this.props.children}
</div>
)
}
});
var About = React.createClass({
render: function() {
return <h3>Here is about page</h3>
}
});
var Timer = React.createClass({
getInitialState: function() {
return {counter: 0};
},
render: function() {
return (
<div>
<h2>Time is running over...</h2>
<b>{this.props.interval}</b>
<p>{this.state.counter}</p>
</div>
)
},
componentDidMount: function() {
this.loadCommentsFromServer();
setInterval(this.loadCommentsFromServer, 1000);
},
loadCommentsFromServer: function() {
this.setState({counter: this.state.counter + 1});
}
});
React.render((
<Router location="history">
<Route path="/" component={App}>
<Route path="about" component={About} />
<Route path="timer" component={Timer} />
</Route>
</Router>
), document.body);
आप टाइमर चाहते हैं मत भूलना अपने पूरे ऐप में सक्रिय होने के लिए? इसके लिए आपके पास एक विशिष्ट मार्ग क्यों है? – deowk
यह सिर्फ एक उदाहरण है। मेरा मुख्य उद्देश्य लिंक के माध्यम से नेविगेट के दौरान घटकों को अनमाउंट नहीं करना है। मेरे असली प्रोजेक्ट में मेरे पास विशाल ग्रिड के साथ एक जटिल घटक है। इसलिए हर बार जब मैं इस घटक पर वापस जाता हूं तो यह डेटा प्राप्त करने के लिए सर्वर से अनुरोध भेजता है। लेकिन मुझे इस तरह के व्यवहार की जरूरत नहीं है। और मुझे समझ में नहीं आता क्यों प्रतिक्रिया-राउटर इसे छिपाने के बजाए घटक को नष्ट कर देता है? – AlexeiBerkov
प्रतिक्रिया-राउटर इस मामले में अपेक्षित व्यवहार कर रहा है - यदि आपके पास ऐसा घटक है जो अनमाउंट नहीं करना चाहिए तो आपको इसे अपने शीर्ष स्तर के ऐप घटक में लिखना होगा - – deowk