繁体   English   中英

为什么 onClick function 调用只传递一个字符? (ReactJs)

[英]Why is onClick function call only passing one character? (ReactJs)

当用户单击一个按钮并传递一个变量时,我试图调用 function 调用,但是当我 console.log 参数时,它只输出一个字母作为响应(因此,如果传递了画廊,它只返回 g)。 我不确定 function 的调用方式是否需要更改,或者 function 接收它的方式是否需要更改。

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();
   ...
}

有了这个指令

 const [selected] = selectedIcon;

您正在解构被视为数组的字符串,因此仅将第一个字符返回给变量selected

有关解构分配的更多信息。

我认为你的问题出在这里:

const [selected] = selectedIcon;

如果 selectedIcon = 'gallery',并且 [selected] = selectedIcon,则 selected = 'g'

> selectedIcon = 'gallery'
'gallery'
> [selected] = selectedIcon
'gallery'
> selected
'g'
>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM