Це мій компонент. Я використовую функцію вбудованої стрілки, щоб змінити маршрут onClick
div, але я знаю, що це не гарний спосіб з точки зору продуктивності
1. Функція вбудованої стрілки
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={() => this.changeRoute("page1")}>1</div>
<div onClick={() => this.changeRoute("page2")}>2</div>
</>
)
}
2. Якщо я використовую прив'язку конструктора, то як я можу передавати реквізит?
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. Якщо я видаляю функцію стрілки, то функція, що викликається, на самому візуалізації
changeRoute (routeName) {
console.log(routeName)
}
render() {
return (
<>
<div onClick={this.changeRoute("page1")}>1</div>
<div onClick={this.changeRoute("page2")}>2</div>
</>
)
}
4. Якщо я використовую вбудовану прив'язку, то це також не найкраще з продуктивністю
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>
</>
)
}
Тоді як я можу перейти до найкращого способу проходження параметрів?