2015-01-18 15 views
7

RefluxJS के साथ डेटा (असीमित रूप से) प्रारंभ करने का सही तरीका क्या है? क्या AngularJS के हल के समान कुछ है, या फ्लक्स कार्यान्वयन के साथ इसका कोई लेना-देना नहीं है (राउटर को इस प्रतिस्थापन को संभालना चाहिए)?डेटा प्रारंभ करने के लिए उचित तरीका

उत्तर

10

अपने एप्लिकेशन के शीर्ष-स्तरीय घटक में, डेटा लाने वाले क्रिया को ट्रिगर करने के लिए comoponentWillMount विधि (docs) का उपयोग करें। जब घटक प्रारंभ में प्रस्तुत किया जाता है तो यह विधि कॉल की जाएगी।

उदाहरण के लिए:

// Create an async action, that will request data using a promise 
// Using the recently released (v0.2.2) helpers for async actions 
var actions = Reflux.createActions({ 
    init: {asyncResult: true} 
}); 
actions.init.listenAndPromise(promiseToGetData); 

// Update the store when the init action's promise is completed 
var store = Reflux.createStore({ 
    listenables: actions, 
    onInitCompleted: function (data) { 
     // do stuff 
     this.trigger(data) 
    } 
}); 

var App = React.createClass({ 
    mixins: [Reflux.connect(store)], 
    componentWillMount: function() { 
     // When this component is loaded, fetch initial data 
     actions.init() 
    } 
}); 
+0

बस एक सवाल: मैं प्रतिक्रिया रूटर के साथ refluxjs का उपयोग कर रहा है, तो क्या अगर वादा खारिज कर दिया गया तो होता है; क्या बढ़ रहा है (तकनीकी रूप से, कुछ भी नहीं होता है) या इसे मैन्युअल रूप से संभाला जाता है? – srph

+0

घटक अभी भी माउंट होगा, कार्रवाई के लिए कॉल आग है और भूल जाओ। अगर वादा खारिज कर दिया गया है, तो स्टोर अभी भी परिणाम प्राप्त करेगा और आप 'ऑनइनफेल' हैंडलर जोड़ सकते हैं। Async क्रियाओं के बारे में अधिक जानने के लिए https://github.com/spoike/refluxjs#asynchronous-actions देखें। –

+0

धन्यवाद। वैसे, क्या आप 'कॉम्पोनेंट विल्लमाउंट' '' '' '' '' घटक 'वॉलमाउंट''' के बजाय '' 'घटक विल्लमाउंट''' का उल्लेख करते हैं? – srph

-1

भाटा यह वास्तव में के लिए एक API है।

डॉक्स यह वर्णन में गरीब हैं, लेकिन Spoike (भाटा के लेखक) एक कोड उदाहरण के साथ एक जवाब दिया:

https://stackoverflow.com/a/28984512/1775026

+0

यह प्रश्न डेटा को असीमित रूप से लाने के बारे में था। Reflux रिक्त घटकों पर स्टोर की 'getInitialState' विधि सेट करता है और डेटा को असीमित रूप से लाने के लिए उपयोग नहीं किया जाना चाहिए। आपके द्वारा लिंक किए गए उत्तर में उदाहरण स्थिर मानों के लिए है। एक उदाहरण के लिए आधिकारिक प्रतिक्रिया [दस्तावेज़ीकरण] (https://facebook.github.io/react/tips/initial-ajax.html) देखें और http://stackoverflow.com/questions/26615307 –

संबंधित मुद्दे