2015-03-03 8 views
8

मैं फ्लक्स-रिएक्ट में सबसे बुनियादी ऐप सेट अप करने का प्रयास कर रहा हूं। इसका एकमात्र लक्ष्य अग्नि एक्शन है, जिसे डिस्पैचर के माध्यम से प्रेषक के साथ पंजीकृत स्टोर में भेज दिया जाता है। स्टोर कंसोल पर payload लॉग करता है।प्रतिक्रिया-प्रवाह: AppDispatcher.register के साथ त्रुटि

स्टोर के अलावा सब कुछ अच्छी तरह काम कर रहा है, लेकिन जैसे ही यह हिट AppDispatcher.register, फ्लक्स निम्न त्रुटि फेंकता है:

Uncaught TypeError: Cannot set property 'ID_1' of undefined 

यहाँ फ़ाइल त्रुटि पैदा की कोड है, लेकिन मैं ऊपर डाल दिया है https://github.com/bengrunfeld/react-flux-dispatcher-error पर पूरी परियोजना है, और आप src/js/stores/AppStores.js

var AppDispatcher = require('../dispatcher/AppDispatcher'); 
var EventEmitter = require('events').EventEmitter; 
var AppConstants = require('../constants/AppConstants'); 
var assign = require('object-assign'); 


var CHANGE_EVENT = 'change'; 

var AppStore = assign({}, EventEmitter.prototype, { 
    emitChange: function() { 
    this.emit(CHANGE_EVENT); 
    } 
}); 

AppDispatcher.register(function(payload){ 
    console.log(payload); 
    return true; 
}) 

module.exports = AppStore; 
+0

ऊपर यूट्यूब वीडियो वोट दिया है, सवाल और यहां जवाब दें :) किसी अन्य वीडियो के लिए तत्पर हैं। –

+0

ट्यूटोरियल के लिए धन्यवाद। यह बहुत अच्छा है। आपका मूल संस्करण काम कर रहा है, लेकिन जब मैं इसे अपना बना देता हूं। मुझे AppDorepatcher.js में रजिस्टर कॉलबैक को स्थानांतरित करने की आवश्यकता है, AppStore.js में नहीं। यहां और देखें: https://github.com/kenpeter/simplest-flux – kenpeter

+0

हाय - मैं console.log पर धक्का देने के बजाय मुख्य दृश्य को कैसे अपडेट करूं? तो चलो हर बार जब मैंने एक जेसन फ़ाइल से दूसरे रिकॉर्ड में लिया बटन दबाया और स्क्रीन पर आउटपुट किया? चीयर्स – Dan

उत्तर

18
फेसबुक फ्लक्स के लिए बाइबिल का अनुपात के दस्तावेज की सूखे की वजह से

में हमलावर फ़ाइल पा सकते हैं, मुझे नहीं पता था कि मैं से कोड उपयोग कर रहा था पिछला संस्करण।

var Dispatcher = require('flux').Dispatcher; 
var assign = require('object-assign'); 

var AppDispatcher = assign(new Dispatcher(), { 
    handleViewAction: function(action) { 
    this.dispatch({ 
     source: 'VIEW_ACTION', 
     action: action 
    }); 
    } 
}); 

module.exports = AppDispatcher; 

यहाँ काम कर कोड के साथ एक रिपोजिटरी के लिए एक लिंक है:

AppDispatcher.js में, आप new कीवर्ड का उपयोग निम्नलिखित तरीके से AppDispatcher परिभाषित करने की जरूरत https://github.com/bengrunfeld/react-flux-simple-app

+0

सुनिश्चित नहीं है कि मैं http://facebook.github.io/flux/docs/overview.html# पर कॉल करूंगा एक सूखा सामग्री, बिल्कुल। – fisherwebdev

+6

मैं निश्चित रूप से इसे कॉल करूँगा। यूट्यूब पर जाएं और मुझे * एक * ट्यूटोरियल दिखाएं कि फ्लक्स का उपयोग करके एक सरल एप्लिकेशन कैसे बनाया जाए। साथ ही, फ्लक्स के बारे में निश्चित रूप से आधिकारिक दस्तावेज होने पर, यह अनजान है और अनुभवी इंजीनियरों के लिए लिखा गया है जो सिर्फ "इसे प्राप्त करें", अधिक जूनियर इंजीनियरों के लिए नहीं, जिन्हें अधिक हाथ पकड़ने की आवश्यकता है। इसलिए [@rynclark] (https://twitter.com/rynclark) की टिप्पणी - "यदि आप मेरे जैसे हैं और आप प्रतिक्रिया के साथ आगे जाना चाहते हैं, तो संभवतः आप फ्लक्स की जांच कर चुके होंगे एक नज़र, टैब बंद कर दिया और फिर अपने जीवन को जावास्क्रिप्ट डेवलपर के रूप में पुनः प्राप्त किया। " – Ben

+1

@fisherwebdev - पहले ट्यूटोरियल में, एक कोड ब्लॉक में * कोड की 86 लाइनें * हैं। किसी भी व्यक्ति (विशेष रूप से एक नया या जूनियर देव) को अपने सिर में इतना कोड रखना चाहिए, जबकि वे एक नया ढांचा सीख रहे हैं, अंतर्निहित अवधारणाओं को समझने का प्रयास कर रहे हैं, और व्यावहारिक रूप से इसका उपयोग कैसे करें? यह बस डरा रहा है। कृपया, मुझे अपने दस्तावेज़ दोबारा लिखने दें और आपका उपयोगकर्ता-आधार एक सप्ताह में तीन गुना हो जाएगा। – Ben

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