2016-08-15 7 views
2

Я видел чужое приложение и выяснил, что он имеет конфигурацию клиента, хранящуюся в магазине Redux. В основном она содержала такую ​​информацию, как: isProduction: true, ключи API и т. Д.Хорошая практика иметь конфигурацию в магазине Redux?

Каково ваше мнение об этом? Считаете ли вы хорошей практикой иметь конфигурацию, сохраненную в магазине Redux?

Заранее спасибо.

+1

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

+1

Магазин - это место для __сохранения всех данных, которые изменяются пользовательскими взаимодействиями. Когда данные в магазине изменятся, компоненты, прослушивающие магазин, также будут повторно отображены. Так что наличие __data, которое никогда не меняет__ в магазине, является идеей __bad .__ Лучше иметь тогда постоянный файл – Anenth

ответ

2

Как правило, в состоянии приложения хранятся данные, которые изменяются при взаимодействии пользователя с приложением. (как заметил Anenth). Если вы используете Webpack Я бы рекомендовал хранить ENV переменные и другие конфигурации в WebPack конфигурационном файле с помощью DefinePlugin

new webpack.DefinePlugin({ 
    PRODUCTION: JSON.stringify(true), 
    VERSION: JSON.stringify("5fa3b9"), 
    BROWSER_SUPPORTS_HTML5: true, 
    TWO: "1+1", 
    "typeof window": JSON.stringify("object") 
}) 

Или ExtendedDefinePlugin если вам нужно более сложную структуру данных.

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