Здесь общая ситуация: у вас есть форма, и вас интересуют представления этой формы. Вы можете добавить морщину к ситуации, добавив серверный валидатор или даже валидатор на стороне клиента, но валидаторы предоставляются только в качестве средства обеспечения ввода, который вы отправляете, в этом случае; любое состояние, собранное между 0 и отправкой, выбрасывается и случайным.
Здесь существует менее распространенная ситуация: в вашей форме есть поле пароля/подтверждения, которое необходимо проложить, чтобы работать с очевидной манерой и проводом, чтобы отобразить индикацию силы пароля (и действительности). Раньше я видел много "писать обратный вызов jQuery для обработчика события при изменении и называть его днем". Это всего лишь крайний случай, когда нужно, чтобы состояние между ними доходило до места назначения, а не как самоцель.
Теперь очень необычная ситуация: вам нужно отслеживать вклад этой формы, потому что это форма, используемая правительством США для общения с нашими парнями в ядерных бункерах в Вайоминге. Конечно, важно, что ввод формы действителен при подаче, но нам нужно дополнительно знать, насколько мы можем, о том, как он туда попал. Скажем, это форма входа в систему, например. Если мы отслеживаем последовательность событий от 0 до представления и сравниваем ее с прошлым, мы можем обнаружить аномалии в поведении пользователя, например. Мы можем определить, есть ли у нас проблемы с серверами, прежде чем мы узнаем о них. Таким образом, это не всегда информация о выбросах.
Я хочу сопоставить событие onChange
с концепцией Diode, но мне трудно понять, что я должен делать. Вот варианты:
case class
для каждого типа поля и для каждого перетаскиваемого типа объекта и вставить все его в корневую модель (кажется глупым способом сделать это).Pot
s, чтобы встать на место для моей структуры данных Scratch
. Вероятно, лучшая идея, но не уверен, что использовать.То, где я нахожусь... приветствуется любой продуманный совет.
Это может быть что-то, когда использование чата будет работать лучше, но вот некоторые мысли по этому вопросу.
Есть три места, в которых вы могли бы хранить такой журнал событий:
В состоянии компонента view. Просто добавьте отмеченные события в список, сохраненный в состоянии представления. При отправке отправляйте этот список вместе с остальными данными.
В модели диода. Опять же, сохраните список событий в модели и отправьте с данными формы.
На сервере. Отправляйте каждое событие отдельно на сервер и позволяйте ему беспокоиться о том, что они означают. Нет необходимости хранить на стороне клиента вообще.
Для таких данных переходного процесса я бы не проложил его через Diode вообще, а вместо этого использовал варианты 1 или 3 для его передачи.