Đây là thành phần của tôi Tôi đang sử dụng chức năng mũi tên nội tuyến để thay đổi tuyến onClick
của div nhưng tôi biết đó không phải là cách tốt về mặt hiệu suất
1. Chức năng mũi tên nội tuyến
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={() => this.changeRoute("page1")}>1</div>
<div onClick={() => this.changeRoute("page2")}>2</div>
</>
)
}
2. Nếu tôi sử dụng ràng buộc constructor thì làm thế nào tôi có thể vượt qua đạo cụ?
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. Nếu tôi loại bỏ chức năng mũi tên thì chức năng được gọi trên chính kết xuất
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={this.changeRoute("page1")}>1</div>
<div onClick={this.changeRoute("page2")}>2</div>
</>
)
}
4. Nếu tôi sử dụng liên kết nội tuyến thì nó cũng không tốt nhất với hiệu suất
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>
</>
)
}
Sau đó, làm thế nào tôi có thể tiến hành với cách tốt nhất thông qua các tham số?