Сообщество RSS DEV
Подписаться
Как глобально скрыть поля валюты/суммы в приложении React + Rails на основе разрешений пользователя?
Я работаю над приложением, построенным с использованием React 19 (фронтенд) и Ruby on Rails 5.0.7.2 (бэкенд).
Требование состоит в том, чтобы скрыть все поля валюты/суммы в интерфейсе пользователя на основе разрешений пользователя.
Бэкенд предоставляет логический флаг (например, can_view_amount: true/false), который указывает, имеет ли вошедший пользователь разрешение на просмотр полей суммы.
Если пользователь не имеет разрешения, то все поля суммы во всем приложении должны быть скрыты.
Это должно быть реализовано масштабируемым и будущим способом:
Это должно быть одноразовой реализацией, а не чем-то, что нам придется вручную реализовывать на каждом новом экране.
Даже если в будущем будут добавлены новые экраны, отображающие суммы, та же логика должна автоматически применяться без того, чтобы разработчики забыли обрабатывать это.
Вопрос:
Какой лучший архитектурный подход или шаблон проектирования для реализации этого?
Я рассматриваю:
Глобальный обертка/компонент для отображения сумм (который внутренне проверяет разрешение перед рендерингом).
Компонент более высокого порядка (HOC) или решение React Context для управления видимостью.
Любые предложения по стороне Rails для структурирования флага разрешения, чтобы он интегрировался чисто с фронтендом.
Кто-нибудь решил подобную проблему, и какой самый поддерживаемый способ обеспечить, чтобы поля суммы были последовательно скрыты во всем приложении на основе разрешений?