MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

उल्का / ReactJS - UI ब्लिंकिंग समस्या:डेटाबेस की जाँच करने से पहले और बाद में दो बार रेंडर करना

आपका कंटेनर डेटा की सदस्यता लेता है और सदस्यता के ready . पर नज़र रखता है राज्य:

createContainer(() => {
  const todosHandle = Meteor.subscribe('tasks');
  const loading = !todosHandle.ready();

  return {
    loading,
    tasks: Tasks.find({}, { sort: { createdAt: -1 } }).fetch(),
  };
}, App);

इसका मतलब है कि आप घटक को एक बूलियन loading प्राप्त होगा प्रॉप जो इंगित करता है कि डेटा उपलब्ध है या नहीं। loading . को रेंडर करने के लिए आप इसे अपने कंपोनेंट में इस्तेमाल कर सकते हैं डेटा लोड होने के दौरान देखें:

class App extends Component {
  //...
  render() {
    const {loading, tasks} = this.props;
    if (loading) {
      return (
        <div className="spinner">
          Loading...
        </div>
      );
    }
    return (
      <div className="container">
        <header>
          <h1>Todo List</h1>
        </header>
          //...
      </div>
    );
  }
}

या घटकों का कोई अन्य संयोजन जो लोडिंग स्थिति पर निर्भर करता है।

बीटीडब्ल्यू, tasks प्रोप एक सरणी है, इसलिए tasks.length . का उपयोग करना Object.keys . के बजाय बेहतर होने की संभावना है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. बहुत सारे डेटा डालने के दौरान नोड.जेएस में मोंगोडब कनेक्शन बंद करना

  2. JSON फ़ाइल में MongoDB क्वेरी परिणाम कैसे निर्यात करें

  3. MongoDB 'संग्रह' से सभी 'दस्तावेज़' प्राप्त करें

  4. कई उप-दस्तावेज़ों को अद्यतन करने के लिए ArrayFilters के लिए Pymongo त्रुटि

  5. mongodb में त्रुटि ढूँढें और संशोधित करें - नोडज - त्रुटि कोड 17287