reactjs - अनिश्चित में प्रतिक्रिया के लिए जांच



components redux (1)

आप क्या कर सकते हैं यह जांच कर लेते हैं कि क्या आप प्रोप को शुरू में परिभाषित किया गया है या नहीं, यह जांच कर कि क्या nextProps.blog.content अनिर्धारित है या नहीं, क्योंकि आपके शरीर को इसके अंदर nextProps.blog.content है

componentWillReceiveProps(nextProps) {

    if(nextProps.blog.content !== undefined && nextProps.blog.title !== undefined) {
       console.log("new title is", nextProps.blog.title);
       console.log("new body content is", nextProps.blog.content["body"]);
       this.setState({
           title: nextProps.blog.title,
           body: nextProps.blog.content["body"]
       })
    }
}

आपको अपरिभाषित, केवल सख्त ऑपरेटर के लिए चेक करने के लिए टाइप का उपयोग करने की आवश्यकता नहीं है !== जो उनके प्रकार के मूल्य के साथ-साथ मूल्य की तुलना करता है

अपरिभाषित के लिए जांच करने के लिए, आप इस typeof ऑपरेटर की तरह भी उपयोग कर सकते हैं

typeof nextProps.blog.content != "undefined"

मेरे पास एक ऐसा परिदृश्य है जहां मैं अपने रिएक्शन स्टेट में रेड्यूसर से डेटा पास कर रहा हूं।

डेटा:

{
    "id": 1,
    "title": "Test",
    "content": {
        "body": "sdfsdf"
        "image": "http://example.com"
    }
}

घटक WillRecieveProps का उपयोग करके, यह शीर्षक को पुनः प्राप्त करने के लिए पूरी तरह से काम करता है।

componentWillReceiveProps(nextProps) {
    this.setState({
        title: nextProps.blog.title,
    })
}

हालांकि, मुझे नीडिंत क्षेत्रों को पुनः प्राप्त करने में कठिनाई हो रही है। जब मैं यह करता हूँ:

componentWillReceiveProps(nextProps) {
    console.log("new title is", nextProps.blog.title);
    console.log("new body content is", nextProps.blog.content["body"]);
    this.setState({
        title: nextProps.blog.title,
        body: nextProps.blog.content["body"]
    })
}

मुझे यह त्रुटि मिलती है:

एक अपरिभाषित निकाय की त्रुटि समाप्त हो जाती है जब मैं डीबगर पर क्लिक करता हूं और सामग्री लोड हो जाती है। वैसे भी क्या मैं इस मुद्दे का मुकाबला कर सकता हूं?

मैंने इस तरह अनिश्चित रूप से जांचने की कोशिश की:

if (typeof nextProps.blog.content["body"] != 'undefined'){

लेकिन यह या तो काम नहीं करता है और मेरा मानना ​​है कि ब्लॉग अनिर्धारित है।





undefined