Estoy escribiendo un componente personalizado simple (interruptor de palanca elegante, fwiw) y tengo curiosidad por saber qué opiniones hay sobre el uso de un accesorio onChange y un accesorio onClick. Actualmente estoy usando ambos para facilitar un modal de confirmación por separado que se adjunta a la propiedad onClick.
Ejemplo:
if (onClick !== undefined) onClick({ checked: !isChecked }) if (onChange !== undefined) { onChange(!isChecked) setUncontrolledChecked(!isChecked) } else setUncontrolledChecked(!isChecked)En este caso, onClick funciona para eludir el cambio en el conmutador y permitir que el componente actúe como totalmente controlado, mientras que onChange se engancha para permitir efectos secundarios donde el componente se usa de manera no controlada en otra parte de la aplicación.
Probablemente este tema esté cubierto en alguna designación oficial de propiedades de componentes en alguna parte, pero no he podido encontrarlo, por lo que me interesa saber qué piensa SO.