Различия между :init-state и :state при сборке

Я понимаю, что вы можете инициировать состояние компонента, передав карту в качестве значения ключевого слова :init-state. Но если передать эту карту как значение ключевого слова :state, например, между компонентом и его дочерним компонентом, теперь они могут иметь одно и то же состояние? Это оно? Спасибо.


person roboli    schedule 09.06.2014    source источник


Ответы (1)


Разница в том, когда устанавливается дочернее состояние.

  • :init-state устанавливается только один раз, когда компонент монтируется.
  • :state устанавливается для каждого рендера.

Следовательно, :init-state следует использовать (как следует из названия) для инициализации состояния. С другой стороны, :state используется для установки состояния, которое меняется со временем.

person Community    schedule 10.06.2014
comment
Я знаю, что немного поздно, особенно с Om Next и всем остальным, но я, вероятно, должен был сказать, что :state используется для родительского управления состоянием ребенка (не для изменения состояния на конкретном триггере. om/set-state! можно использовать для этой цели) - person ; 21.10.2016