Как определить многоразовые константы? - PullRequest
0 голосов
/ 04 мая 2018

У меня есть компонент Reason React, который выглядит следующим образом:

/* MyComponent.re */

let make = _children => {
    ...component,

    reducer: (action, state) => {
        switch (action) {
        | KeyDown(key) => switch (key) {
          | 13 => ReasonReact.Update(...)
          | _ => ReasonReact.NoUpdate
          }
        }
    },

    render: self => {
        <input _type="text" value=self.state.text
          onKeyDown=(event => self.send(KeyDown(ReactEventRe.Keyboard.keyCode(event)))) />
    }
};

Теперь я попытался преобразовать число 13 в отдельный файл:

/* Keys.re */

let enter = 13;

Но я не могу использовать Keys.enter внутри моего switch оператора в MyComponent.re . Я получаю ошибку:

Error: 275: <UNKNOWN SYNTAX ERROR>

Я также попытался включить модуль непосредственно в MyComponent.re , добавив:

module Keys = {
    let enter = 13;
};

вверху, но все равно появляется та же ошибка.

Мое понимание того, как работают модули, должно быть неверным. Как правильно сделать то, что я пытаюсь сделать?

1 Ответ

0 голосов
/ 04 мая 2018

Не думаю, что проблема в том, как определяется module.

Вы можете сделать переключение так:

switch (key) {
| key when key === Keys.enter => ReasonReact.Update(...)
| _ => ReasonReact.NoUpdate
}
...