【问题标题】:How to fix the error type void is not assignable to type ((event: MouseEvent<HTMLDivElement, MouseEvent>) => void) |undefined using react?如何修复错误类型 void 不可分配给类型 ((event: MouseEvent<HTMLDivElement, MouseEvent>) => void) |使用反应未定义?
【发布时间】:2020-11-30 00:23:06
【问题描述】:

我想在单击 div 元素时将状态 isOpen 设置为 true 或 false,代码如下所示,

function Parent() {
    const [isOpen, setIsOpen] = React.useState(false);
    return (
        <Wrapper>
            <div onClick={setIsOpen(!isOpen)}>
                something
            </div>
        </Wrapper>
    );
}

但这给了我错误“类型 void 不可分配给类型 ((event: MouseEvent) => void) |undefined "

我该如何解决这个问题。有人可以帮我解决这个问题。谢谢。

【问题讨论】:

  • 试试这个:onClick={()=&gt;setIsOpen(!isOpen)}

标签: reactjs typescript


【解决方案1】:

更改 onClick 执行。 试试下面的例子:

function Parent() {
    const [isOpen, setIsOpen] = React.useState(false);
    return (
        <Wrapper>
            <div onClick={()=> setIsOpen(!isOpen)}>
                something
            </div>
        </Wrapper>
    );
}

【讨论】:

    猜你喜欢
    • 2020-04-26
    • 2020-08-16
    • 2019-06-29
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 2020-07-29
    • 2019-07-14
    • 2021-08-03
    相关资源
    最近更新 更多