Ini adalah komponen saya, saya menggunakan fungsi panah sebaris untuk mengubah rute onClick
div tetapi saya tahu itu bukan cara yang baik dalam hal kinerja
1. Fungsi panah sebaris
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={() => this.changeRoute("page1")}>1</div>
<div onClick={() => this.changeRoute("page2")}>2</div>
</>
)
}
2. Jika saya menggunakan binding konstruktor maka bagaimana saya bisa lulus alat peraga?
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. Jika saya menghapus fungsi panah maka fungsi dipanggil pada render itu sendiri
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={this.changeRoute("page1")}>1</div>
<div onClick={this.changeRoute("page2")}>2</div>
</>
)
}
4. Jika saya menggunakan inline binding maka itu juga tidak terbaik dengan kinerja
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>
</>
)
}
Lalu bagaimana saya bisa melanjutkan dengan cara terbaik melewati parameter?