Это выражение имеет тип ... но ожидалось выражение типа - PullRequest
0 голосов
/ 06 июня 2019

Я использую привязку bs-material-ui-icon, но мне выдается ошибка типа, когда я пытаюсь использовать его компонент.

module Cell = {
  type status =
    | Empty
    | Tick
    | Cross;
  /* let icon =  React.createElement(MaterialUIIcons.AccessAlarm); */

  [@react.component]
  let make = _children => {
    <div> <MaterialUIIcons.AccessAlarm /> </div>; /** <MaterialUIIcons.AccessAlarm /> erorr **/
  };
};

Вот сообщение об ошибке, которое он дал:

This expression has type
         'a =>
         ReasonReact.component(ReasonReact.stateless,
                                ReasonReact.noRetainedProps,
                                ReasonReact.actionless)
       but an expression was expected of type
         React.component('a) = 'a => React.element
       Type
         ReasonReact.component(ReasonReact.stateless,
                                ReasonReact.noRetainedProps,
                                ReasonReact.actionless)
           =
           ReasonReact.componentSpec(ReasonReact.stateless,
                                      ReasonReact.stateless,
                                      ReasonReact.noRetainedProps,
                                      ReasonReact.noRetainedProps,
                                      ReasonReact.actionless)
       is not compatible with type React.element 

Я использую React-JSX 3 (если это имеет значение)

1 Ответ

1 голос
/ 08 июня 2019

Как сказал @glennsl, это потому, что вам не хватает JSXv2 и JSXv3.Существует новая ветка, поддерживающая JSXv3, которую вы можете найти здесь https://github.com/jsiebern/bs-material-ui/tree/hooks.Опубликовано в npm в теге hooks.

...