Bu benim bileşenim onClick
div rotasını değiştirmek için satır içi ok işlevini kullanıyorum ama performans açısından iyi bir yol olmadığını biliyorum
1. Satır içi ok işlevi
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={() => this.changeRoute("page1")}>1</div>
<div onClick={() => this.changeRoute("page2")}>2</div>
</>
)
}
2. Eğer yapıcı bağlama kullanırsam, nasıl sahne geçmek olabilir?
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. Ok işlevini kaldırırsam, işlemenin kendisinde çağrılan işlev
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={this.changeRoute("page1")}>1</div>
<div onClick={this.changeRoute("page2")}>2</div>
</>
)
}
4. Satır içi ciltleme kullanırsam performans açısından da en iyisi değildir
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>
</>
)
}
Öyleyse parametreleri geçirmenin en iyi yoluna nasıl geçebilirim?