Где найти документацию для написания обработчика событий для текстового поля ввода?

Изначально я хотел знать:

Как мне написать для этого обработчик?

      type state = string;
type action = | ChangeName(string)
let reducer = (_state, action) => switch action { | ChangeText(text) => text }
[@react.component]
let make = () => {
    let (state, dispatch) = React.usefReducer(reducer, "");
     /* What is the parameter type and how do I decode it? */
    let onChange = ??? => dispatch(ChangeText(????));  
    <input value=state onChange/>
}

В частности, каков тип параметра для перфорированного onChange обработчик и как мне его расшифровать?

Все ссылки, с которыми я сталкиваюсь, относятся к JS, которые мне трудно перевести на Re.

ИЗМЕНИТЬ Ответ, который я нашел, очистив github:

      let onChange = event => dispatch(ChangeName(ReactEvent.Form.target(event)##value));

Скажем, я хотел бы использовать другой элемент JSX, где документация? ИЛИ, они предполагают, что люди, приходящие к этому откуда-то еще, имеют знания априори? (Мне больше нравится "с").

1 ответ

Решение

Вы можете получить типы всех атрибутов DOM из https://github.com/rescript-lang/rescript-react/blob/v0.10.1/src/ReactDOM.res

Этот файл содержит привязки к подмножеству атрибутов DOM ReScript-React. Она имеет:

      onChange: ReactEvent.Form.t => unit

ReactEvent.Formмодуль объявлен на https://github.com/rescript-lang/rescript-react/blob/v0.10.1/src/ReactEvent.resi#L168

Если вы ищете что-то конкретное для ReScript-React, ищите в этом репозитории.

Похоже, у вас есть правильный код для обработки события. Кстати, у вас в некоторых местах есть конструктор вариантов ChangeName и в других ChangeText, Я полагаю, что правильный из них. Компилятор, конечно, это тоже поймает :-)

Другие вопросы по тегам