Где найти документацию для написания обработчика событий для текстового поля ввода?
Изначально я хотел знать:
Как мне написать для этого обработчик?
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
, Я полагаю, что правильный из них. Компилятор, конечно, это тоже поймает :-)