वर्तमान में रेंडर विधि केवल एक तत्व/घटक लौटा सकती है। देखें: hereप्रतिक्रिया में एक HTML टिप्पणी कैसे प्रस्तुत करें?
चर्चा में है कि टिकट के तहत कुछ जैसे एक HTML टिप्पणी में एक प्रतिक्रिया घटक से लौटे एक से अधिक तत्वों रैप करने के लिए सुझाव है ताकि रैपिंग घटक ब्राउज़र द्वारा नजरअंदाज कर दिया है,:
<A>
<B></B>
<Fragment>
<C></C>
<D></D>
</Fragment>
<E></E>
</A>
प्रस्तुत करना होगा करने के लिए:
<a>
<b></b>
<!--<fragment data-reactid="">-->
<c></c>
<d></d>
<!--</fragment>-->
<e></e>
</a>
लेकिन वास्तव में एक घटक कैसे बनाएं जो केवल HTML टिप्पणी प्रस्तुत करता हो? दूसरे शब्दों में, ऊपर दिए गए उदाहरण में 'खंड' घटक का कार्य कैसे प्रस्तुत किया जा सकता है?
import React, {Component, PropTypes} from 'react';
import ReactDOM from 'react-dom';
class ReactComment extends Component {
static propTypes = {
text: PropTypes.string,
trim: PropTypes.bool
};
static defaultProps = {
trim: true
};
componentDidMount() {
let el = ReactDOM.findDOMNode(this);
ReactDOM.unmountComponentAtNode(el);
el.outerHTML = this.createComment();
}
createComment() {
let text = this.props.text;
if (this.props.trim) {
text = text.trim();
}
return `<!-- ${text} -->`;
}
render() {
return <div />;
}
}
export default ReactComment;
तो आप इसे इस प्रकार उपयोग कर सकते हैं:
उस टिप्पणी को पोस्ट करने वाले व्यक्ति को यह समझ में नहीं आया कि प्रतिक्रिया कैसे काम करती है। ध्यान दें कि जो भी सुझाव दिया है वह काम नहीं करेगा। एक बात के लिए, यह मूल मुद्दे को संबोधित नहीं करता है; नतीजा चार नोड्स (एक टिप्पणी नोड, दो तत्व नोड्स, और फिर एक टिप्पणी नोड) है, न कि एक नोड। –
मेरे समझ गया था कि टुकड़ा के समारोह प्रस्तुत करना केवल दो बच्चों घटकों 'सी' और 'डी' के साथ टुकड़ा घटक लौट आते हैं। इसलिए दूसरी टिप्पणी में समापन टैग '/ खंड'। साथ ही, ऐसा लगता है कि तकनीक का उपयोग dw972c414 में mwiencek/प्रतिक्रिया कांटा में एक खंड घटक को लागू करने के लिए किया गया है, लेकिन मैं गलत हो सकता हूं। – Amiramix