По сути, вы хотите работать с функциями вместо данных.Если вы думаете: «Как мне создать поведение, в котором текущий текст находится в рамке», вы этого не сделаете.Вместо этого вы пишете функции, которые принимают текущий текст в качестве параметра и передают его при необходимости.Предположим, вы хотите распечатать содержимое текстового поля при нажатии кнопки.Затем вы должны сделать что-то вроде этого:
eButton :: NetworkDescription (Event ())
eButton = event0 button command
network = do
pressButton <- eButton
reactimate $ (\() -> get text foo >>= print) <$> pressButton
Если вам нужно получить ввод для поведения, вы можете аналогичным образом использовать функцию с типом Behavior (String -> a)
(или любым другим нужным вам типом), а затем просто передатьстрока в точке вызова reactimate
.