Tengo un modal en React JS donde quiero ejecutar una función al abrir el modal. Esta es una función de botón y funciona completamente bien hasta ahora al tenerla así:
<button onClick={functionExample("stringParam", true)} id='buttonId' className="buttonClass" />El único problema con esto es que arroja este error:
index.js:1 Warning: Expected `onClick` listener to be a function, instead got a value of `object` type.¿Hay alguna manera de hacer esto sin obtener el error?
Puedes llamarlo con una función de flecha.
onClick={() => functionExample("stringParam", true)}
Tienes que pasar una función, que luego será llamada por React así:
<button onClick={() => functionExample("stringParam", true)} id='buttonId' className="buttonClass" />Cuando haces JS "almacena" la función para su ejecución posterior, pero si escribes
onClick={functionExample("stringParam", true)}su código se ejecuta en su lugar, devuelve un objeto y esto es de lo que se queja React.
Su oyente onClick es una llamada al método en render en lugar de onClick
<button onClick={() => functionExample("stringParam", true)} id='buttonId' className="buttonClass" />Cambia tu onClick a
onClick={() => functionExample("stringParam", true)}