私は、アプリケーションステータスで何らかの種類の日付を追跡する減速機を持っています。デフォルトでは、現在の日付で、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>
ハードコーディングする必要はありません。
グローバル変数も、テスト中に再定義するのが難しいため、うまく機能しません。
状態の開始に含まれていない場合は、アクションの一部として渡すことができますが、私のレデューサー初期化コードにはglobalLocale
が必要です。
おそらく、この特定の状況では、私はロケールロジックを他の場所に移すことができましたが、私は何らかの一般的なパターンにほとんど関心があります。