Bien que les crochets React sont apparus comme une alternative viable au style de classe React traditionnel, il peut y avoir des situations où vous préférez introduire progressivement des crochets dans vos composants basés sur la classe existants. Cet article explore la possibilité d'utiliser des crochets React en conjonction avec des composants classiques de la classe React.
Bien que les crochets de réact soient principalement conçus pour une utilisation dans les composants fonctionnels, il est possible d'accéder à leurs fonctionnalités à partir des composants de la classe par le biais de composants fonctionnaires supérieurs (HOCS). Un hoc est une fonction qui prend un composant en tant qu'argument et renvoie un nouveau composant.
pour intégrer les crochets React dans un composant de classe à l'aide d'un hoc, suivez ces étapes:
Créer un hoc pour votre votre pour votre Hook:
Par exemple, si vous avez un crochet appelé usemyhook, vous définissez un hoc comme suit:
function withMyHook(Component) {
return function WrappedComponent(props) {
const myHookValue = useMyHook();
return ;
};
}
Enveloppez votre composant de classe avec le hoc:
Vous pouvez ensuite utiliser ce hoc pour envelopper votre composant de classe:
class MyComponent extends React.Component {
render(){
const myHookValue = this.props.myHookValue;
return {myHookValue};
}
}
export default withMyHook(MyComponent);
Utilisation et avantages
Réflexions
Tout en utilisant des hocs pour intégrer les crochets dans les composants de la classe n'est pas une utilisation directe des crochets, il offre une solution de travail pratique qui s'aligne avec le principe de l'adoption augmentée. En tirant parti de cette approche, vous pouvez explorer les avantages des crochets React tout en préservant la familiarité des composants basés sur les classes, en lissage de votre transition vers un paradigme de réact plus moderne.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3