2014-09-18 1 views
3

В документации Flux указано, что состояние должно храниться в магазинах. Должны ли после этого сохранять, сохранять сообщения об ошибках, связанные с сущностью, храниться в магазинах. Поскольку View будет получать свое первоначальное состояние из хранилища, следовательно, можно узнать, может ли его загрузка/сбережение из магазина.Flux: Где должны быть промежуточные ошибки?

Также при редактировании формы пользователь решает отменить редактирование, поэтому эти значения промежуточной формы должны храниться в состояниях состояния, а затем отправляться в хранилище?

ответ

0

Ваши поля ввода должны иметь свою собственную память. Это означает, что состояние Store (источник правды) неизменно отделено от любых изменений, происходящих в компонентах. Благодаря действиям эти изменения сообщаются в магазины. Являются ли они новой истиной или не с ошибками, состояние Store снова будет неизменно скопировано в состояние ввода компонента. Ошибки, я также перейду к компоненту, поскольку они применяются к входному состоянию, а не к сохраненному состоянию.

Магазины, как базы данных, вы редко помещаете любые временные записи или ошибки там. Если вы не написали текстовый редактор, в котором отслеживается история ввода ...

+1

Но ошибки/загрузка необходимо сохранить в Хранилище правильно, так как View прослушивает обновления магазина. Есть ли другой способ для результата ошибки действия для связи обратно в View? – pra

+0

Имеет ли ваш магазин возможность запуска с дополнительными параметрами? Reflux.js обладает такой способностью, поэтому хранения ошибок не требуется, они просто передаются при запуске. – Rygu

+0

Я использую реализацию потока по умолчанию. Исправлено другое событие для ошибок. Затем мне нужно было убедиться, что ошибка принадлежит определенному компоненту. – pra

1

Я использую React очень функционально, так как все мои данные хранятся вне React как глобального объекта JSON, и эти данные вводятся в компонент верхнего уровня. Таким образом, React - это просто умный механизм шаблонов для меня: преобразование JSON в Virtual DOM, а затем приложение Virtual DOM к реальному DOM. Рендеринг всегда запускается из основного компонента и оптимизируется благодаря неизменности. Read more here

Я не согласен с Rygu, ошибки являются частью состояния. Магазины могут быть сопоставимы с базами данных, но что это значит? Что магазины должны содержать только то, что не является «временным» или что-то, что может считаться бессмысленным?

Для меня, если вы хотите включить функциональное программирование с помощью React, все, что отображается как DOM, должно быть, в первую очередь, передано в качестве реквизита ваших компонентов, включая ошибки. Если вы этого не сделаете, вы будете полагаться на побочные эффекты для управления DOM, и с течением времени будет сложнее рассуждать обо всех этих побочных эффектах.

+0

Атомно-реактивный и реактивный курсоры похожи? Я хотел бы получить дополнительную документацию/примеры того, как использовать атом-реакцию. – pra

+0

Раньше я не знал реакционных курсоров. Да, это очень похоже на то, что реакция-курсоры, кажется, очень связаны с React, и кажется, что все состояние приложения находится в состоянии корневого компонента, в то время как Atom-реакция имеет развязанную реализацию атома/курсора. Atom-React - это клей, который позволяет связать состояние атома с конвейером Реакт-рендеринга + шину событий + оцениваемый способ управления состоянием. Я скоро напишу документацию и примеры, но мы в настоящее время в спешке запуска :) –

+0

Мне нравится ваша идея. Будем ждать дополнительной документации. – pra

Смежные вопросы