2016-01-16 19 views
5

मैं उल्का के लिए नया हूं इसलिए मैं चारों ओर खेल रहा हूं और अब मैं इस समस्या से फंस गया हूं।ढूंढें एक डेटा फेंक रहा है भले ही डेटा

मैं यूआरएल/(: userId) में आधारित थीम दिखाने की कोशिश करने के लिए रिएक्ट राउटर का उपयोग कर रहा हूं। यदि यूआरएल में कोई उपयोगकर्ता आईडी डाला गया है तो उसे वर्तमान उपयोगकर्ता की थीम दिखानी चाहिए और यदि कोई मौजूदा उपयोगकर्ता नहीं है तो इसे एक डिफ़ॉल्ट विषय दिखाना चाहिए।

यह यादृच्छिक रूप से काम कर रहा है। कभी-कभी मुझे सही थीम मिलती है, कभी-कभी थीम पढ़ने के दौरान यह अनिर्धारित होता है, भले ही डेटा वहां मौजूद हो। मैं console.log के साथ देख सकता हूं कि यह हमेशा सही आईडी प्राप्त करता है, लेकिन फिर भी लगता है कि कोई भी अनिर्धारित नहीं हो सकता है। यह विशेष रूप से तब होता है जब मैं यूआरएल (/ xyz) बदलता हूं और डिफ़ॉल्ट (/) पर वापस जाता हूं।

मैंने कंसोल के साथ सत्यापित किया कि उपयोगकर्ता थीम का वास्तविक मालिक है रंग और थीम टेक्स्टकॉलर।

मैं प्रतिक्रिया, प्रतिक्रिया-राउटर, ऑटोप्ब्लिश का उपयोग कर रहा हूं। मैंने असुरक्षित हटा दिया।

getMeteorData() { 

    var currentViewedPageId = this.props.params.userId? this.props.params.userId:(Meteor.userId()?Meteor.userId():false); 
    console.log(currentViewedPageId); //Allways right 
    console.log(Personalization.findOne({owner: currentViewedPageId}).themeColor); //Sometimes undefined, sometimes not 
    if(currentViewedPageId) 
    { 

     return { 
     currentUser: Meteor.user(), 
     themeColor: Personalization.findOne({owner: currentViewedPageId}).themeColor, 
     themeTextColor: Personalization.findOne({owner: currentViewedPageId}).themeTextColor 
     }; 
    } 
    return { 
     currentUser: Meteor.user() 
    } 

}, 
+2

आप उस डेटा की सदस्यता कहां ले रहे हैं? मुझे लगता है कि सदस्यता तैयार होने तक आपको प्रतीक्षा करने की आवश्यकता है। –

+0

मैं अब के लिए autopublish का उपयोग कर रहा हूँ। – hiei

+3

ऑटोपब्लिश बस सभी डेटा प्रकाशित कर रहा है, लेकिन इसके लिए इंतजार नहीं कर रहा है। Autopublish निकालें और प्रकाशित/सदस्यता लें। बेस्ट विकल्प बिल्ड-इन प्रतीक्षा और सदस्यता विकल्पों के साथ रूटिंग कर रहा है जैसे: [प्रवाह-राउटर] (https://github.com/VeliovGroup/flow-router) या [लौह-राउटर] (https://github.com/iron -meteor/लौह रूटर) –

उत्तर

0

चूंकि कोड कभी-कभी काम कर रहा है। कुछ परीक्षण डेटा हो सकते हैं जो स्कीमा से मेल नहीं खाते हैं। तो संग्रह में सभी डेटा का परीक्षण करें।

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