Функциональная реакция: как обрабатывать setState с вводом из функции карты?

Используя реагирующий хук, я хочу преобразовать все свои классы в функцию. предположим, что это мой возвращенный рендер:

{layerList.map(i => {
        return (
          <Button
            className = "button-layer"
            type = "primary"
            onClick = {handleAa(i)}
          > {aa}
          </Button> 
          <Button
             className = "button-layer"  
             type = "primary"
             key = {some_values}
             onClick = { handleChangeEvent(i) }
          >
            {i}
          </Button>
        )
      } )}

Как передать i функции handleChangeEvent?

и вы должны использовать свойство key при рендеринге некоторых компонентов с помощью map() или других циклов.

kyun 31.05.2019 07:31

что вы передадите по нажатию кнопки

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

Ответы 2

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

Вам нужен функция, а не вызов функции в качестве значения реквизитов функции. Например.

onClick = {() => handleAa(i)}

а также

onClick = {() => handleChangeEvent(i)}

Если вы передаете вызов функции, как у вас есть, то он вызывается один раз, сразу же при рендеринге, а не при нажатии.

{
  layerList.map(i => {
        return (
          <Button
            className = "button-layer"
            type = "primary"
            onClick = {() => handleAa(i)}
          > {aa}
          </Button> 
          <Button
             className = "button-layer"  
             type = "primary"
             key = {some_values}
             onClick = { () => handleChangeEvent(i) }
           >
             {i}
          </Button>
        )}
    )
}

вам также может понадобиться определить функции

function handleAa(i){}
function handleChangeEvent(i){}

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