Что означает следующее предупреждение? - PullRequest
2 голосов
/ 09 июля 2019

Что означает следующее предупреждение и как я могу устранить его причину?

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));
});

1 Ответ

4 голосов
/ 09 июля 2019

Вы пропускаете [@bs.val] в начале removeEventListener при объявлении привязки.

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

Иногда это трудно увидеть, потому что линтер всегда перемещает линии вокруг;)

Источник: я тоже сталкивался с этим несколько минут назад.

...