Как мы можем использовать псевдонимы при использовании Hooks API? - PullRequest
0 голосов
/ 09 июля 2019

Раньше я использовал [@bs.as "in"] вот так.

[@bs.deriving abstract]
type cssTransitionProps = {
  [@bs.as "in"]
  _in: bool,
  timeout: int,
  classNames: string,
};

Как я могу сделать что-то подобное здесь?

module CSSTransition = {
  [@bs.module "react-transition-group"] [@react.component]
  external make:
    (
      ~_in: bool,
      ~timeout: int,
      ~classNames: string,
      ~children: React.element
    ) =>
    React.element =
    "CSSTransition";
};

1 Ответ

1 голос
/ 09 июля 2019

Вам не нужно ничего делать, Bulescript сделает это за вас.

Если вы посмотрите на вывод js, вы увидите, что _in преобразуется в in

return React.createElement(ReactTransitionGroup.CSSTransition, {
              in: match$2[0],
              timeout: 200,
              classNames: "my-node",
              children: React.createElement("div", undefined, React.createElement(CommandsArea.make, {
                        text: text,
                        setText: match[1]
                      }), React.createElement(Toolbar.make, {
                        result: match$1[0]
                      }))
            });
...