Ошибка в событии onClick в react.js

Я пытаюсь использовать событие onclick, как показано ниже

<button className = "mini ui button" onClick = {this.view(item['id'])}>
   <i className = "user icon"></i>
   View
</button>

Это создает ошибку, как показано ниже

Ошибка в событии onClick в react.js

Но код ниже не создает ошибку

<button className = "mini ui button" onClick = {this.view}>
     <i className = "user icon"></i>
     View
</button>

Возможный дубликат React js onClick не может передать значение методу

Amanshu Kataria 28.04.2018 09:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
1
99
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Измените его на onClick = {() => this.view(item['id'])}, иначе функция будет выполняться немедленно во время рендеринга (вместо onClick), что вызовет повторный рендеринг, если функция изменяет состояние / свойства.

Спасибо @riwu. Я столкнулся с этой проблемой, функция запускается сразу во время рендеринга.

abu abu 28.04.2018 07:13

Спасибо @riwu. Не могли бы вы объяснить этот код onClick = {() => this.view(item['id'])}? Я новичок в react.js

abu abu 28.04.2018 07:15
onClick принимает функцию. Я использую стрелочную функцию ES6: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
Roy Wang 28.04.2018 07:18

Да, вы можете использовать функцию стрелки в качестве ответа на предварительный просмотр или вы можете использовать bind

<button className = "mini ui button" onClick = {this.view.bind(this, item['id'])}>
   <i className = "user icon"></i>
   View
</button> 

Эти два способа работают.

Другие вопросы по теме