что произошло с полукровкой? какие-либо альтернативы на окнах?

Я думаю, что вам нужно знать не столько «Каково состояние дел», сколько «Каков канонический способ» публикации и подписки на React и Redux.

Короткий ответ: если у вас достаточно сложное приложение, вы должны организовать свой магазин таким образом, чтобы состояние приложения было разделено на срезов и использовать шаблон контейнера для разделения ответственность за публикацию и подписку. Таким образом вы избежите упомянутой проблемы, когда вы не знаете, что в кодовой базе меняет хранилище и что реагирует на изменения. Вы можете посмотреть на компонент контейнера и посмотреть, как он обрабатывает события пользовательского интерфейса от своих дочерних элементов и создает событие изменения состояния. Или вы можете увидеть, как контейнер обрабатывает изменение состояния, а затем развернуть иерархию. Если вы можете сделать так, чтобы срез Redux отвечал за один контейнер, гораздо проще думать о событиях. Все остальные компоненты не подписаны на события как таковые, вместо этого они получают изменения, которые им необходимо визуализировать, от реквизитов, происходящих из компонента контейнера. И они уведомляют компонент контейнера о своих собственных событиях через обратные вызовы, передаваемые через реквизиты, чтобы контейнер мог их опубликовать. Это может пройти долгий и долгий путь, и если вы чувствуете, что вам нужно передавать реквизиты слишком много уровней, вы можете использовать React.children, чтобы немного сгладить вложение, или в редких случаях контекст.

Более длинный ответ немного сложнее, поскольку публикация и подписка не имеют большого смысла, когда речь идет о React. React должен в конечном итоге отвечать за рендеринг. Как вы упомянули, не все события являются событиями пользовательского интерфейса. Но если вы моделируете вещи так, что все события, которые вы можете публиковать и подписывать, сводятся к смене магазина или реагированию на смену магазина, то вы можете создать свое приложение, ориентированное больше на Redux. Управление запросами и результатами, о которых вы говорите, должно осуществляться в простых модулях JavaScript без React. Затем вы можете использовать компонент контейнера, чтобы склеить хранилище с этим модулем.

Существуют дополнительные шаблоны, которые люди используют как создатели действий и селекторы. Это хорошо, потому что, по крайней мере, цель состоит в том, чтобы держать кодовые базы знакомыми. Но дела все еще движутся немного быстрее: React движется в сторону Hooks API и React-Redux , пытаясь наверстать упущенное . Но срезы и компоненты контейнера никуда не денутся, это естественный способ разделения проблем.

7
задан PeeHaa 3 November 2013 в 18:12
поделиться

3 ответа

Поскольку mongrel не обновлялся в течение столь долгого времени, есть определенные функции, такие как --prefix, которые больше не работают с самой разумной версией rails (2.3 +)

, я бы рекомендовал использовать тонкий сервер вместо этого, поскольку это кажется естественным развитием mongrel, и разработчики проекта активно его развивают.

7
ответ дан 7 December 2019 в 05:30
поделиться

Первоначальный автор Зед Шоу больше не поддерживает его, но он все еще подходит для развертывания rails-приложений на рабочей станции в качестве альтернативы webrick (Rails по умолчанию).

Если вы не используя Windows в качестве производственной среды, я бы предложил настроить виртуальную машину с механизмом rails вашего производственного сервера.

0
ответ дан 7 December 2019 в 05:30
поделиться

Mongrel отлично работает в продакшене для Windows и других ОС. Он не разрабатывается, потому что он отлично работает в большинстве случаев. В рассылке ублюдков до сих пор периодически ведутся разговоры о том, чтобы исправить тот или иной случай. Но мой опыт работы с дворнягой показывает, что он отлично работает.

Я тоже некоторое время назад тестировал тонкий, и он тоже отлично работает. Я обнаружил ошибку кеширования, но сопровождающий быстро опубликовал исправление, что было приятно. Я думаю, что если вы обнаружите ошибку в Mongrel, текущие разработчики также быстро ее исправят.

Я провел сравнение тонких и mongrel здесь:

http://www.misuse.org/science/2008/04 / 07 / thin-vs-mongrel-a-ruby-on-rails-performance-shootout /

А также еще один, посвященный различным методам конвейерной обработки (справедливый прокси-модуль nginx и сокеты unix). Тонкий, похоже, демонстрирует странное поведение кластеризации при большой нагрузке - но это уже можно исправить.

http://www.misuse.org/science/2008/04/07/thin-ruby-on-rails- nginx-fair-proxy-performance-testing /

1
ответ дан 7 December 2019 в 05:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: