“期望 1 个参数,但得到 0 个。”对于 React with Typescript 中的 onClick 事件

问题描述 投票:0回答:0

我有一个 handleClick 函数,我试图将其作为组件内的 onClick 事件的道具传递。这个事件只需要一个 setState 函数。我设置了一个界面,将其键入为“handleClick:React.Dispatch;”因为没有其他工作并且总是会出错,所以我假设一切都很好,直到我继续将 onClick 事件写入组件声明,当标题中出现错误时。

相关代码如下:

interface IProps {
    handleClick: React.Dispatch<React.SetStateAction<boolean>>;
    icon?: JSX.Element;
}

const NavLinks: React.FC<IProps> = ({ handleClick }) => (
    <div className="sidebar_navlinks">
        {sidebar_links.map((link) => (
            <NavLink key={link.name}  to={link.to} onClick={() => handleClick && handleClick()}>
                <div className="link">
                    <link.icon className="icon" />
                    {link.name}
                </div>
            </NavLink>
        ))}
    </div>
)

然后用那个组件我就做类似的事情

<NavLinks handleClick={() => setMenuState(false)} />

我怎样才能最好地输入它,以便它停止在标题中给出错误?我不清楚为什么当我将它输入为设置状态的东西时它会期望有一个值?

我在网上看到的东西,通常是假设 onClick 将应用于 HTML 按钮元素,但我只是用它来点击反应图标,所以我更迷路了。

reactjs typescript onclick react-typescript
© www.soinside.com 2019 - 2024. All rights reserved.