OnClick'te dize kaçışını kullanmakla ilgili endişelerim var ve argüman sayısı arttıkça sürdürmek hantal hale gelecek.
Aşağıdaki yaklaşımda tek bir atlama olacaktır - Tıklandığında - denetimi bir işleyici yöntemine götürün ve olay nesnesine bağlı olarak işleyici yöntemi, click olayını ve karşılık gelen nesneyi düşürebilir.
Ayrıca daha fazla argüman eklemek ve daha fazla esnekliğe sahip olmak için daha temiz bir yol sağlar.
<button type="button"
className="btn btn-default"
onClick="invoke"
name='gotoNode'
data-arg1='1234'>GotoNode</button>
Javascript katmanında:
invoke = (event) => {
let nameOfFunction = this[event.target.name];
let arg1 = event.target.getAttribute('data-arg1');
//We can add more args as needed...
window[nameOfFunction](arg1)
//hope function is in window.
//Else the respective object need to be used
})
}
Buradaki avantaj, gerektiği kadar çok argümana sahip olabilmemizdir (yukarıdaki örnekte data-arg1, data-arg2 ....).