我有一个减速器,它在我的应用程序状态中跟踪某种日期。默认情况下,它是通过moment.js库获取的当前日期。Redux:减速器的全局配置
const selectedDateReducer = (state = moment(), action) => {
switch (action.type) {
case 'SET_DATE':
return action.date;
default:
return state;
}
}
行之有效,但现在我想所有日期是在特定的语言环境:
const selectedDateReducer = (state = moment().locale(globalLocale), action) => {
switch (action.type) {
case 'SET_DATE':
return action.date;
default:
return state;
}
}
我还需要在我的阵营成分相同的语言环境,所以我通过它喜欢:
<Component locale={globalLocale}></Component>
并且不想对其进行硬编码。
全局变量也不能正常工作,因为在测试过程中很难重新定义它们。
如果它不是国家启动的一部分,我可以通过它作为一些行动的一部分,但我需要我的reducer初始化代码中的globalLocale
。
也许,在这个特定的情况下,我可以移动语言环境逻辑到其他地方,但我最感兴趣的是某种通用模式。