Лучшая практика для совместного использования «Логики Redux» между несколькими проектами

#redux #react-redux

Вопрос:

Мы работаем над новым проектом со стопкой Node.js в BE React и Redux в FE.

По сути, этот проект является «тонкой» версией существующего проекта, поэтому в нем будут некоторые основные функции существующего проекта некоторые новые функции.

Я ищу способ уменьшить копирование-вставку и дублирование кода в этих 2 проектах(и в будущем может быть больше «дублирующих» проектов, подобных этому).

В BE у нас нет никаких проблем — BE одинакова для всех проектов FE.

С другой стороны, у нас есть библиотека пользовательского интерфейса, которую мы используем, поэтому все атомарные компоненты используются повторно, и здесь у нас тоже нет «копирования-вставки».

Части, которые мы скопировали и вставили между несколькими проектами,-это все части «Redux» — редукторы, селекторы, действия и т. Д.

Существуют ли какие-либо рекомендации/библиотеки/шаблоны проектирования, которым мы можем следовать, чтобы написать части «Redux» один раз и использовать их в нескольких проектах?

Ответ №1:

Я реализую это так, чтобы многоразовая логика сохраняла свое состояние как отдельная ветвь в хранилище. Так, например:

состояние const = { пользователь: состояние по умолчанию, сообщения: состояние по умолчанию, поиск: состояние по умолчанию }

Редукторы аналогично реализованы в отдельных компонентах и объединены:

Объединители({ пользователь: userReducer, сообщения: messagingReducer, поиск: searchReducer })

Я использую redux-логику, которая реализована как промежуточное программное обеспечение. Я ожидаю, что смогу сделать то же самое с побочными эффектами. Текущая утечка связана с навигацией — какие компоненты функций отображаются в зависимости от того, какие действия были выполнены, определены в основном следующем проекте в навигационном редукторе верхнего уровня.