【问题标题】:React TypeScript: Parameter "e" implicitly has an any type errorReact TypeScript:参数“e”隐含任何类型错误
【发布时间】:2021-08-14 04:47:07
【问题描述】:

当我将此功能添加到我的 onClick 按钮时,我不断收到此错误:

const FirefoxBlockedModal = () => {
    const navigate = useNavigate();
    const onBackClick = (e) => {
        navigate("/", { replace: true });
    };
    return (
                    <MenuButton
                        className={styles.goBackBtn}
                        classNameOnOver={styles.over}
                        classNameOnPressed={styles.pressed}
                        onClick={onBackClick}
                    >
                        <Trans>back</Trans>
                    </MenuButton>
    );
};

export default FirefoxBlockedModal;

这里有一些我尝试过的东西的图片以及我从打字稿中得到的错误。我该怎么办?

【问题讨论】:

  • 好吧,如果你不使用这个参数,就把它去掉const onBackClick = () =&gt;
  • 如果你想保留参数而不使用它,你可以这样做const onBackClick = (_e: React.MouseEvent&lt;HTMLElement&gt;) =&gt;

标签: reactjs typescript events


【解决方案1】:

默认情况下,TSConfig 文件不隐式允许 any 类型。你必须声明它。

如果你这样声明,你不会得到这个错误:

const onBackClick = (e: any) => {
  navigate("/", { replace: true });
};

【讨论】:

  • 当它有一个更窄的类型时,为什么要将它声明为any
猜你喜欢
  • 2020-07-30
  • 1970-01-01
  • 2020-05-29
  • 2021-11-17
  • 2021-03-16
  • 2017-07-02
  • 1970-01-01
  • 2018-08-15
  • 2020-02-02
相关资源
最近更新 更多