जवाबों:
प्रतिक्रिया (या JSX) विशेषता मान के अंदर परिवर्तनशील चर का समर्थन नहीं करता है, लेकिन आप संपूर्ण विशेषता मान के रूप में घुंघराले ब्रेस के अंदर कोई भी जेएस अभिव्यक्ति डाल सकते हैं, इसलिए यह काम करता है:
<img className="image" src={"images/" + this.props.image} />
यदि आप es6 टेम्पलेट शाब्दिक का उपयोग करना चाहते हैं, तो आपको टिक चिह्नों के साथ ब्रेसिज़ की भी आवश्यकता है:
<img className="image" src={`images/${this.props.image}`} />
यदि आप सद्भाव के साथ JSX का उपयोग कर रहे हैं, तो आप ऐसा कर सकते हैं:
<img className="image" src={`images/${this.props.image}`} />
यहां आप src
एक अभिव्यक्ति के रूप में मूल्य लिख रहे हैं ।
चर और तार जोड़ने के बजाय, आप ES6 टेम्पलेट तार का उपयोग कर सकते हैं! यहाँ एक उदाहरण है:
<img className="image" src={`images/${this.props.image}`} />
JSX के अंदर अन्य सभी जावास्क्रिप्ट घटकों के लिए, घुंघराले ब्रेसिज़ के अंदर टेम्पलेट स्ट्रिंग्स का उपयोग करें। "इंजेक्ट" करने के लिए एक चर एक डॉलर चिह्न का उपयोग करता है जिसके बाद घुंघराले ब्रेसिज़ होते हैं जिसे आप इंजेक्ट करना चाहते हैं। उदाहरण के लिए:
{`string ${variable} another string`}
इसके लिए सबसे अच्छा तरीका यह है कि गटर विधि को जोड़ा जाए:
getImageURI() {
return "images/" + this.props.image;
}
<img className="image" src={this.getImageURI()} />
फिर, यदि आपके पास बाद में अधिक तर्क हैं, तो आप कोड को सुचारू रूप से बनाए रख सकते हैं।
लोगों के लिए, 'मैप' फ़ंक्शन और डायनामिक डेटा के लिए उत्तर की तलाश में, यहां एक कार्यशील उदाहरण है।
<img src={"http://examole.com/randomview/images" + each_actor['logo']} />
यह URL को " http://examole.com/randomview/images/2/dp_pics/182328.jpg " (रैंडम उदाहरण) देता है।
नोट: प्रतिक्रिया में आप घुंघराले ब्रैकेट के अंदर जावास्क्रिप्ट अभिव्यक्ति डाल सकते हैं। हम इस उदाहरण में इस संपत्ति का उपयोग कर सकते हैं।
नोट: नीचे दिए गए उदाहरण को एक रूप दें:
class LoginForm extends React.Component {
constructor(props) {
super(props);
this.state = {i:1};
}
handleClick() {
this.setState(prevState => ({i : prevState.i + 1}));
console.log(this.state.j);
}
render() {
return (
<div>
<p onClick={this.handleClick.bind(this)}>Click to change image</p>
<img src={'images/back'+ this.state.i+'.jpg'}/>
</div>
);
}
}
यहां डायनामिक क्लासनेम या प्रॉप्स के लिए बेस्ट ऑप्शन है, बस कुछ कॉन्सेप्टेशन करें जैसे हम जावास्क्रिप्ट में करते हैं।
className={
"badge " +
(this.props.value ? "badge-primary " : "badge-danger ") +
" m-4"
}
classnames
गतिशील क्लासनेम के निर्माण के लिए पैकेज का उपयोग करने की सलाह देता हूं
आप उपयोग कर सकते हैं
<img className="image" src=`images/${this.props.image}`>
या
<img className="image" src={'images/'+this.props.image}>
या
render() {
let imageUrl = this.props.image ? "images/"+this.props.image : 'some placeholder url image';
return (
<div>
<img className="image" src={imageUrl} />
</div>
)
}