Ceci est mon composant J'utilise la fonction de flèche en ligne pour changer l'itinéraire onClick
de div mais je sais que ce n'est pas un bon moyen en termes de performances
1. Fonction de flèche en ligne
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={() => this.changeRoute("page1")}>1</div>
<div onClick={() => this.changeRoute("page2")}>2</div>
</>
)
}
2. Si j'utilise la liaison constructeur alors comment puis-je passer des accessoires?
constructor() {
super(props)
this.changeRoute = this.changeRoute.bind(this)
}
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={this.changeRoute}>1</div>
<div onClick={this.changeRoute}>2</div>
</>
)
}
3. Si je supprime la fonction flèche, la fonction appelée sur le rendu lui-même
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={this.changeRoute("page1")}>1</div>
<div onClick={this.changeRoute("page2")}>2</div>
</>
)
}
4. Si j'utilise la reliure en ligne, ce n'est pas le meilleur avec les performances
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={this.changeRoute.bind(this, "page1")}>1</div>
<div onClick={this.changeRoute.bind(this, "page2")}>2</div>
</>
)
}
Alors, comment puis-je procéder avec la meilleure façon de passer les paramètres?