ReactJS - Appel D'Une Méthode De Composant À Partir D'Un Autre Composant
J'ai deux composants. Je veux appeler une méthode de la première composante de la deuxième composante. Comment puis-je le faire?
Voici mon code.
Premier Composant
class Header extends React.Component{
constructor(){
super();
}
checkClick(e, notyId){
alert(notyId);
}
}
export default Header;
Deuxième Composant
class PopupOver extends React.Component{
constructor(){
super();
//here i need to call Header class function check click....
//How to call Header.checkClick() from this class
}
render(){
return (
<div className="displayinline col-md-12 ">
Hello
</div>
);
}
}
export default PopupOver;
- Pourquoi voulez-vous faire? Je ne pense pas que sa bonne pratique, il devrait casser composant de modèle. Vous avez assez de plugins pour gérer les événements en un seul endroit: RxJS par exemple (Flux,Redux ...)
- Qu'entendez-vous par la rupture de composants de modèle ?
- Beaucoup plus facile de réutiliser des composants lorsqu'ils sont indépendants. Si vous voulez obtenir ce que vous voulez, de les fusionner et de créer un composant. Considérons le cas lorsque vous modifiez composant parent nom de la méthode: après que vous avez besoin pour aller au-dessus de votre projet et de changement des dépendances, respectivement.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire quelque chose comme ceci
À l'aide de la statique
Eh bien, en fait, de Réagir n'est pas adapté à l'appel de l'enfant méthodes de l'objet parent. Certains cadres, comme Cycle.js, permettre d'accéder facilement aux données à la fois des parents et de l'enfant, et d'y réagir.
Aussi, il ya une bonne chance que vous n'avez pas vraiment besoin. Pensez à téléphoner en composant existant, il est beaucoup plus indépendant de la solution. Mais parfois, vous avez encore besoin d'elle, et puis vous avez peu de choix:
UPD: si vous avez besoin de partager certaines fonctionnalités qui n'implique pas de tout état (comme statique fonctions en programmation orientée objet), alors il n'est pas nécessaire pour le contenir à l'intérieur des composants. Il suffit de déclarer séparément et invoquer quand le besoin:
static
fonction, qu'il ne pouvait être séparés juste une fonction. Mettez donc cette fonction pourutils
dossier, et à l'importation lorsque vous en avez besoin. Si un etat est en cause, que le passage de down ou extérieure de l'état de la gestion.