代码之家  ›  专栏  ›  技术社区  ›  Darren

使用react cookie setcookie时发生类型脚本错误-类型“[名称:字符串]:any;”没有兼容的调用签名。ts(2349)

  •  0
  • Darren  · 技术社区  · 5 年前

    我在使用typescript的react应用程序中使用了react cookie,但出现了错误

    Cannot invoke an expression whose type lacks a call signature. Type '{ [name: string]: any; }' has no compatible call signatures.ts(2349)
    

    使用时 setCookie 作为

    const [setCookie] = useCookies(['example']);
    const onLanguageSelect = (data: any) => {
      setCookie('example', data.value, { path: '/' });
    };
    

    错误出现在 设置cookie 线。

    如何修复此错误?在其他问题上阅读这个问题并没有帮助,但是如果你知道一种资源可以让我走上正确的方向,那就太好了。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Richard Haddad    5 年前

    遵循React cookie自述文件:

    const [cookies, setCookie, removeCookie] = useCookies(['cookie-name']);
    

    setCookie 第二 返回数组的项。

    在你的代码中,你得到了第一个项目, cookies ,重命名为 设置cookie .

    解决方法:

    const setCookie = useCookies(['example'])[1];
    

    小心破坏数组,这是非常性感的,但有时可能误导。