Cuándo uno empieza a desarrollar con este lenguaje de programación que a pesar de ser lenguaje para desarrollo y no para producción se encuentra con muchas cosas diferentes a lo que uno está acostumbrado y a veces puede resultar frustrante como interesante.

Este monje programación tiene propósito de evitar errores durante desarrollo y que la aplicación no lleve a errores más grandes en producción por lo tanto obliga a que el usuario que está desarrollando el código especifique qué resultados o qué tipo de datos se van a utilizar.
This programming approach aims to prevent errors during development and prevent the application from leading to larger errors in production. Therefore, it requires the user developing the code to specify what results or what type of data will be used.

Para este caso simplemente mostraré cómo a través de propiedades se puede pasar una función de react pero que en el componente hijo se debe especificar qué hará esta función y qué tipo de dato recibirá esta función como parámetro.
For this case, I will simply show how a react function can be passed through properties, but in the child component, you must specify what this function will do and what type of data this function will receive as a parameter.

A simple vista parece un poquito complejo de entender pero la función lo único que hace es decir que espera un cambio en el estado y que este mismo cambio será del tipo booleano.
At first glance it seems a little complex to understand, but the function only says that it expects a change in state and that this same change will be of the Boolean type.