#redux #react-redux
Вопрос:
Мы работаем над новым проектом со стопкой Node.js в BE React и Redux в FE.
По сути, этот проект является «тонкой» версией существующего проекта, поэтому в нем будут некоторые основные функции существующего проекта некоторые новые функции.
Я ищу способ уменьшить копирование-вставку и дублирование кода в этих 2 проектах(и в будущем может быть больше «дублирующих» проектов, подобных этому).
В BE у нас нет никаких проблем — BE одинакова для всех проектов FE.
С другой стороны, у нас есть библиотека пользовательского интерфейса, которую мы используем, поэтому все атомарные компоненты используются повторно, и здесь у нас тоже нет «копирования-вставки».
Части, которые мы скопировали и вставили между несколькими проектами,-это все части «Redux» — редукторы, селекторы, действия и т. Д.
Существуют ли какие-либо рекомендации/библиотеки/шаблоны проектирования, которым мы можем следовать, чтобы написать части «Redux» один раз и использовать их в нескольких проектах?
Ответ №1:
Я реализую это так, чтобы многоразовая логика сохраняла свое состояние как отдельная ветвь в хранилище. Так, например:
состояние const = { пользователь: состояние по умолчанию, сообщения: состояние по умолчанию, поиск: состояние по умолчанию }
Редукторы аналогично реализованы в отдельных компонентах и объединены:
Объединители({ пользователь: userReducer, сообщения: messagingReducer, поиск: searchReducer })
Я использую redux-логику, которая реализована как промежуточное программное обеспечение. Я ожидаю, что смогу сделать то же самое с побочными эффектами. Текущая утечка связана с навигацией — какие компоненты функций отображаются в зависимости от того, какие действия были выполнены, определены в основном следующем проекте в навигационном редукторе верхнего уровня.