В scala или scalajs Diode какой-либо из существующих типов соответствует сценарию использования «обновления модели, которая еще не существует»?

1

Здесь общая ситуация: у вас есть форма, и вас интересуют представления этой формы. Вы можете добавить морщину к ситуации, добавив серверный валидатор или даже валидатор на стороне клиента, но валидаторы предоставляются только в качестве средства обеспечения ввода, который вы отправляете, в этом случае; любое состояние, собранное между 0 и отправкой, выбрасывается и случайным.

Здесь существует менее распространенная ситуация: в вашей форме есть поле пароля/подтверждения, которое необходимо проложить, чтобы работать с очевидной манерой и проводом, чтобы отобразить индикацию силы пароля (и действительности). Раньше я видел много "писать обратный вызов jQuery для обработчика события при изменении и называть его днем". Это всего лишь крайний случай, когда нужно, чтобы состояние между ними доходило до места назначения, а не как самоцель.

Теперь очень необычная ситуация: вам нужно отслеживать вклад этой формы, потому что это форма, используемая правительством США для общения с нашими парнями в ядерных бункерах в Вайоминге. Конечно, важно, что ввод формы действителен при подаче, но нам нужно дополнительно знать, насколько мы можем, о том, как он туда попал. Скажем, это форма входа в систему, например. Если мы отслеживаем последовательность событий от 0 до представления и сравниваем ее с прошлым, мы можем обнаружить аномалии в поведении пользователя, например. Мы можем определить, есть ли у нас проблемы с серверами, прежде чем мы узнаем о них. Таким образом, это не всегда информация о выбросах.

Я хочу сопоставить событие onChange с концепцией Diode, но мне трудно понять, что я должен делать. Вот варианты:

  • Я мог бы определить новый case class для каждого типа поля и для каждого перетаскиваемого типа объекта и вставить все его в корневую модель (кажется глупым способом сделать это).
  • Я мог бы определить обобщенную структуру данных, представляющую "непредставленное изменение входного значения", которое также укажет на изменение модели и поля. Кажется оптимальным, но, возможно, лишним, и много работы, и трудно сделать хорошо.
  • Я мог бы использовать существующую структуру данных, такую ​​как один из Pot s, чтобы встать на место для моей структуры данных Scratch. Вероятно, лучшая идея, но не уверен, что использовать.

То, где я нахожусь... приветствуется любой продуманный совет.

Теги:
forms
state

1 ответ

1
Лучший ответ

Это может быть что-то, когда использование чата будет работать лучше, но вот некоторые мысли по этому вопросу.

Есть три места, в которых вы могли бы хранить такой журнал событий:

  • В состоянии компонента view. Просто добавьте отмеченные события в список, сохраненный в состоянии представления. При отправке отправляйте этот список вместе с остальными данными.

  • В модели диода. Опять же, сохраните список событий в модели и отправьте с данными формы.

  • На сервере. Отправляйте каждое событие отдельно на сервер и позволяйте ему беспокоиться о том, что они означают. Нет необходимости хранить на стороне клиента вообще.

Для таких данных переходного процесса я бы не проложил его через Diode вообще, а вместо этого использовал варианты 1 или 3 для его передачи.

  • 0
    Я присоединюсь к тебе там! Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню