मुझे नहीं पता कि वे इस "रिएक्ट कॉन्टेक्स्ट" सामान के साथ क्या कहने की कोशिश कर रहे हैं - वे ग्रीक से बात कर रहे हैं, मेरे लिए, लेकिन यहाँ मैं इसे कैसे समझ सकता हूँ:
कार्यों के बीच मूल्यों को ले जाने, एक ही पृष्ठ पर
अपने निर्माता में, अपने सेटर को बांधें:
this.setSomeVariable = this.setSomeVariable.bind(this);
फिर अपने कंस्ट्रक्टर के ठीक नीचे एक फ़ंक्शन घोषित करें:
setSomeVariable(propertyTextToAdd) {
this.setState({
myProperty: propertyTextToAdd
});
}
जब आप इसे सेट करना चाहते हैं, तो कॉल करें this.setSomeVariable("some value");
(आप भी दूर करने में सक्षम हो सकता है this.state.myProperty = "some value";
)
जब आप इसे प्राप्त करना चाहते हैं, तो कॉल करें var myProp = this.state.myProperty;
उपयोग करके alert(myProp);
आपको देना चाहिए some value
।
पृष्ठों / घटकों में मूल्यों को ले जाने के लिए अतिरिक्त मचान विधि
आप this
(तकनीकी रूप से this.stores
) एक मॉडल को असाइन कर सकते हैं , इसलिए आप इसके साथ संदर्भ दे सकते हैं this.state
:
import Reflux from 'reflux'
import Actions from '~/actions/actions`
class YourForm extends Reflux.Store
{
constructor()
{
super();
this.state = {
someGlobalVariable: '',
};
this.listenables = Actions;
this.baseState = {
someGlobalVariable: '',
};
}
onUpdateFields(name, value) {
this.setState({
[name]: value,
});
}
onResetFields() {
this.setState({
someGlobalVariable: '',
});
}
}
const reqformdata = new YourForm
export default reqformdata
इसे एक फ़ोल्डर में सहेजें जिसे कहा stores
जाता है yourForm.jsx
।
फिर आप इसे दूसरे पेज में कर सकते हैं:
import React from 'react'
import Reflux from 'reflux'
import {Form} from 'reactstrap'
import YourForm from '~/stores/yourForm.jsx'
Reflux.defineReact(React)
class SomePage extends Reflux.Component {
constructor(props) {
super(props);
this.state = {
someLocalVariable: '',
}
this.stores = [
YourForm,
]
}
render() {
const myVar = this.state.someGlobalVariable;
return (
<Form>
<div>{myVar}</div>
</Form>
)
}
}
export default SomePage
यदि आपने this.state.someGlobalVariable
किसी फ़ंक्शन का उपयोग करके किसी अन्य घटक में सेट किया है:
setSomeVariable(propertyTextToAdd) {
this.setState({
myGlobalVariable: propertyTextToAdd
});
}
कि आप के साथ कंस्ट्रक्टर में बाँधते हैं:
this.setSomeVariable = this.setSomeVariable.bind(this);
ऊपर दिखाए गए कोड का उपयोग करके मूल्य propertyTextToAdd
प्रदर्शित किया जाएगा SomePage
।
Redux
याFlux
लाइब्रेरी का उपयोग कर सकते हैं । और आप इसे आसानी से अपने सभी घटकों के माध्यम से पारित कर सकते हैं