मैं वेनिला js में जानता हूं, हम कर सकते हैं
onclick="f1();f2()"
ReactJS में दो फ़ंक्शन कॉल करने के लिए क्या समान होगा?
मुझे पता है कि एक फ़ंक्शन को कॉल करना इस तरह है:
onClick={f1}
मैं वेनिला js में जानता हूं, हम कर सकते हैं
onclick="f1();f2()"
ReactJS में दो फ़ंक्शन कॉल करने के लिए क्या समान होगा?
मुझे पता है कि एक फ़ंक्शन को कॉल करना इस तरह है:
onClick={f1}
जवाबों:
अपने दो + फ़ंक्शन कॉल को किसी अन्य फ़ंक्शन / विधि में लपेटें। यहाँ उस विचार के कुछ रूप हैं:
1) अलग विधि
var Test = React.createClass({
onClick: function(event){
func1();
func2();
},
render: function(){
return (
<a href="#" onClick={this.onClick}>Test Link</a>
);
}
});
या ES6 कक्षाओं के साथ:
class Test extends React.Component {
onClick(event) {
func1();
func2();
}
render() {
return (
<a href="#" onClick={this.onClick}>Test Link</a>
);
}
}
2) इनलाइन
<a href="#" onClick={function(event){ func1(); func2()}}>Test Link</a>
या ईएस 6 समकक्ष:
<a href="#" onClick={() => { func1(); func2();}}>Test Link</a>
onclick={function() { f1(); f2(); }}
onclick={()=>{ f1(); f2() }}
onClick={ () => f1(); f2() }
Promises
संभवतः वह उत्तर है जिसकी आपको तलाश थी।
हो सकता है कि आप एरो फंक्शन (ES6 +) या साधारण पुराने फंक्शन डिक्लेरेशन का उपयोग कर सकते हैं।
सामान्य फ़ंक्शन घोषणा प्रकार ( ES6 + नहीं ):
<link href="#" onClick={function(event){ func1(event); func2();}}>Trigger here</link>
बेनामी फ़ंक्शन या एरो फ़ंक्शन प्रकार ( ES6 + )
<link href="#" onClick={(event) => { func1(event); func2();}}>Trigger here</link>
दूसरा सबसे छोटा रास्ता है जो मुझे पता है। आशा है कि यह आपकी मदद करता है!
किसी भी तत्व के लिए onClick पर कई कार्यों को कॉल करके, आप एक आवरण फ़ंक्शन बना सकते हैं, कुछ इस तरह।
wrapperFunction = () => {
//do something
function 1();
//do something
function 2();
//do something
function 3();
}
इन कार्यों को मूल वर्ग पर एक विधि के रूप में परिभाषित किया जा सकता है और फिर आवरण समारोह से बुलाया जा सकता है।
आपके पास मुख्य तत्व हो सकता है जो इस तरह onChange का कारण होगा,
<a href='#' onClick={this.wrapperFunction}>Some Link</a>
इस onclick={()=>{ f1(); f2() }}
मुझे एक बहुत मदद की अगर मैं एक ही समय में दो अलग-अलग कार्यों चाहते हैं। लेकिन अब मैं केवल एक बटन के साथ एक ऑडीओकेयर बनाना चाहता हूं। इसलिए अगर मैं पहले क्लिक करता हूं f1()
तो मैं स्टार्टफंक्शन चलाना चाहता हूं और अगर मैं फिर से क्लिक करता हूं तो मैं स्टॉपफंक्शन चलाना चाहता हूं f2()
।
आप लोगों को इसका एहसास कैसे होगा?
const play = () => { console.log("played"); } const pause = () => { console.log("paused"); } function* audioSwitcher() { let paused = true; while (true) { if(paused) { play(); } else { pause(); } yield paused = !paused; } }
आप नेस्टेड का उपयोग कर सकते हैं।
टो फ़ंक्शन एक हैं openTab()
और दूसरा है closeMobileMenue()
, सबसे पहले हम कॉल करते हैं openTab()
और दूसरे फ़ंक्शन को अंदर बुलाते हैं closeMobileMenue()
।
function openTab() {
window.open('https://play.google.com/store/apps/details?id=com.drishya');
closeMobileMenue() //After open new tab, Nav Menue will close.
}
onClick={openTab}
ele.onclick = ...
याaddEventListener
।