2016-04-20 17 views
9

मैं यह समझने की कोशिश कर रहा हूं कि अतिरिक्त प्रोप के साथ मौजूदा तत्व को क्लोन कैसे करें।प्रतिक्रिया: किसी मौजूदा घटक को प्रोप जोड़ना

संदर्भ के लिए:

this.mainContent = <Hello message="Hello world!" /> 

मैं की तरह

React.createElement(this.mainContent, Object.assign({}, 
    this.mainContent.props, { anotherMessage: "nice to meet ya!" })); 

कुछ करने की कोशिश की, लेकिन यह काम नहीं कर रहा।

मैं इसे कैसे पूरा करूं?

+1

https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement – azium

उत्तर

23

आप तत्व क्लोन और React.cloneElement का उपयोग करके अतिरिक्त रंगमंच की सामग्री जोड़ने की जरूरत है जैसे:

var clonedElementWithMoreProps = React.cloneElement(
    this.mainContent, 
    { anotherMessage: "nice to meet ya!" } 
); 
// now render the new cloned element? 
4

React.createElement(), या तो एक स्ट्रिंग या अपनी पहली पैरामीटर के रूप में एक वर्ग के प्रकार प्रतिक्रिया लेती है, ताकि अगर आप काम नहीं करेगा ' एक तत्व क्लोन करने की कोशिश कर रहे हैं।

बेशक, there's React.cloneElement() instead, जो किसी अन्य प्रतिक्रिया तत्व की गहरी प्रतिलिपि करता है और वैकल्पिक रूप से नए प्रोप प्रदान कर सकता है।

var foo = React.cloneElement(this.mainContent, {anotherMessage: "nice to meet ya!"}); 

काम करना चाहिए।

+0

यह उत्तर स्वीकार्य उत्तर के समान है ... –

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