在大多数情况下,您不应该保存应用程序设置。
你应该考虑一下你的应用程序,比如某种接收状态作为参数并返回视图的函数。应用程序状态(通常)的更改会导致结果视图中的更改。 Flux商店是你保持这种状态的方式。 API主机名不是您希望影响您的应用程序的东西。它只是您的应用程序需要知道的正确工作的信息有效载荷(说配置,而不是设置)。所以,你应该保持它作为信息有效载荷。模块,类,全局变量,某种类型的DI,你可以考虑任何你认为有用的东西。
我通常使用所有配置创建单独的模块导出对象。例如:
const config = {
api: {
hostname: 'localhost',
port: 3000
}
// ...
};
export default config;
然后只是导入它。喜欢的东西:
import config from "../config";
const api = new API(config.api); // just for example
但如果你真的需要有某种能够影响UI设置工作。(比如延迟显示弹出;它例如可以是即使我们考虑改变这一延迟取决于用户的更好行动),您应该创建一个存储并使用它,就像使用常规的磁通存储(订阅更改,更改动作等)一样。
感谢您的想法!我同意配置不应该是一个状态。但是按照函数式编程的想法,我想将配置注入到商店中,而不是让它从某个外部环境中导入它,这在其他环境中会导致它无法测试。因此我认为依赖注入将是最好的选择。 – schneck