Un par de preocupaciones para mí con respecto al uso de escape de cadena en onClick y a medida que aumenta el número de argumentos, será difícil de mantener.
El siguiente enfoque tendrá un salto: Al hacer clic, lleve el control a un método de controlador y el método de controlador, basado en el objeto de evento, puede deducir el evento de clic y el objeto correspondiente.
También proporciona una forma más limpia de agregar más argumentos y tener más flexibilidad.
<button type="button"
className="btn btn-default"
onClick="invoke"
name='gotoNode'
data-arg1='1234'>GotoNode</button>
En la capa de JavaScript:
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
})
}
La ventaja aquí es que podemos tener tantos argumentos (en el ejemplo anterior, data-arg1, data-arg2 ...) como sea necesario.