Почему при вызове функции onClick передается только один символ? (ReactJs) - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь вызвать вызов функции, когда пользователь нажимает кнопку и передает переменную, однако, когда я console.log параметр выводит только одну букву в качестве ответа (поэтому, если галерея передана, он возвращает только g) , Я не уверен, нужно ли менять способ вызова функции или функцию, получающую ее.

const Button = ({selectedIcon}) => {
    const [selected] = selectedIcon;

   return(
      <div className="buttonBlock">
         <span className="btn">
            <input className="btn-outline" type="button" value="Press Me" onClick={ () => getResponse(selected) }/>
         </span>
      </div>
   );
}
export default function getResponse(selected){
   console.log (selected);
   if(selected === "gallery"){
       console.log (selected);
       getGallery();
   ...
}

Ответы [ 2 ]

1 голос
/ 15 апреля 2020

С помощью этой инструкции

 const [selected] = selectedIcon;

вы деструктурируете строку, которая обрабатывается как массив и, следовательно, возвращает только первый символ переменной selected.

Подробнее Разрушающие задания .

0 голосов
/ 15 апреля 2020

Я думаю, что ваша проблема заключается здесь:

const [selected] = selectedIcon;

если selectedIcon = 'gallery' и [selected] = selectedIcon, затем selected = 'g'

> selectedIcon = 'gallery'
'gallery'
> [selected] = selectedIcon
'gallery'
> selected
'g'
>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...