【问题标题】:What does the following warning mean?以下警告是什么意思?
【发布时间】:2019-07-09 19:41:17
【问题描述】:

以下警告是什么意思,我该如何解决它的原因?

Warning: Unimplemented primitive used:removeEventListener 

[@bs.val]
external addEventListener: (string, unit => unit) => unit = "addEventListener";
external removeEventListener: (string, unit => unit) => unit =
  "removeEventListener";

...

React.useEffect(() => {
  let handler = () => dispatch(ToggleMenu(false));
  addEventListener("popstate", handler);
  Some(() => removeEventListener("popstate", handler));
});

【问题讨论】:

  • externals 没有属性被假定为编译器提供的原语。在 BuckleScript 的未来版本中,我相信您将能够在纯 JavaScript 中自己定义这些原语。

标签: ffi reason bucklescript


【解决方案1】:

声明绑定时,removeEventListener 前面缺少[@bs.val]

[@bs.val]
external addEventListener: (string, unit => unit) => unit = "addEventListener";
[@bs.val]
external removeEventListener: (string, unit => unit) => unit =
  "removeEventListener";

有时很难看到这一点,因为 linter 总是四处移动;)

来源:我在几分钟前也遇到过这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-18
    • 2020-04-03
    • 1970-01-01
    • 2014-04-17
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    相关资源
    最近更新 更多