2016-08-12 10 views
10

react-emptyप्रतिक्रिया-खाली क्या है: *?

<div data-reactroot> 
<!-- react-empty: 3 --> 
<!-- react-empty: 26 --> 
</div> 

इस नोड क्या है? यह एक प्रतिक्रिया घटक को क्यों प्रस्तुत कर सकता है? ऐसा कैसे करें? React कोड के इस हिस्से पर

// A perfectly valid component 
() => null 

// Also a perfectly valid component 
const MyComponent = React.createClass({ 
    render() { 
    if (this.props.hidden) return null; 
    return <p>My component implementation</p>; 
    } 
}); 

उत्तर

8

यह वास्तव में React's internal support for things like null का हिस्सा है जो इस तत्व को दिखा रहा है, खाली है, लेकिन प्रतिक्रिया करें कि आप वहां एक टिप्पणी डालने के लिए <!-- react-empty: 3 --> सभी जावास्क्रिप्ट ढांचे को डीओएम में टिप्पणी का उपयोग करने का प्रयास करने के लिए, कोड को संभालते हुए दिखाने के लिए प्रयास करें, इसी तरह एनजी-अगर कोणीय एफ में है या उदाहरण ...

+0

वाह देखेंगे! धन्यवाद! अगर मैं '

' जैसे सर्वर-रेंडर घटक स्ट्रिंग प्राप्त करने के लिए AJAX करता हूं, तो मैं इसे इस नोड में माउंट करना चाहता हूं। यह कैसे करना है। – Leen

0

देखो है जो इस बनाने के लिए:: यदि आपके घटक वापसी अशक्त, यह एक टिप्पणी पैदा करेगा

var nodeValue = ' react-empty: ' + this._domID + ' '; 
    if (transaction.useCreateElement) { 
     var ownerDocument = hostContainerInfo._ownerDocument; 
     var node = ownerDocument.createComment(nodeValue); 
     ReactDOMComponentTree.precacheNode(this, node); 
     return DOMLazyTree(node); 
    } else { 
     if (transaction.renderToStaticMarkup) { 
     // Normally we'd insert a comment node, but since this is a situation 
     // where React won't take over (static pages), we can simply return 
     // nothing. 
     return ''; 
     } 
     return '<!--' + nodeValue + '-->'; 
    } 
    }, 

तो मूल रूप से

0

ध्यान दें कि प्रतिक्रिया के साथ> = 16, तुम नहीं <!-- react-empty: X --> अब

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