¿Por qué no podemos usar ganchos dentro del componente de la clase de reacción? Ladocumentación oficial de React solo dice que los ganchos no funcionan dentro de la clase, pero no muestra por qué no funcionará.
Los componentes basados en clases son componentes que amplían la clase React.Component.
Por ello, tienen acceso a métodos predeterminados y tienen un ciclo de vida específico. Por ejemplo, el método render()
debe definirse para componentes basados en clases. Puede encontrar más información sobre las características del componente aquí .
Históricamente, no podíamos usar métodos de ciclo de vida en componentes funcionales o estado de acceso.
Sin embargo, los ganchos se introdujeron específicamente en React para proporcionar esta funcionalidad a los componentes funcionales. Es decir, los ganchos solo se escribieron para componentes funcionales cuando se agregaron.
Dadas las diferencias fundamentales en la forma en que React trata los componentes funcionales frente a los componentes basados en clases y sus diferentes ciclos de vida, sospecho que no era factible intentar hacer que los componentes de enlace fueran compatibles con los componentes basados en clases, especialmente porque ya tienen acceso al estado y a su propia Métodos de ciclo de vida.
Además, dado que un componente de clase tiene métodos específicos, permitir tanto sus métodos como sus ganchos existentes conduciría naturalmente al caos de representación.
Se puede encontrar más aquí sobre equivalentes de ciclo de vida de componentes funcionales para componentes de clase.
Esta respuesta tiene más información sobre las diferencias y limitaciones fundamentales de los componentes funcionales frente a los componentes de clase, lo que ayudará a aclarar por qué no es posible usar su funcionalidad respectiva entre sí.