私は、反応コンポーネントの外に、つまり別のヘルパー関数でストアインスタンス(ストア状態)を取得しようとしています。私は私の減速機を持っています、私の行動、私は一番上のコンポーネントに店を作りました。React Redux - ヘルパー関数内の既存のストアへのアクセス
configStore.js
import { createStore } from 'redux';
import generalReducers from '../reducers/generalReducers';
export default function configStore(initialState) {
return createStore(generalReducers, initialState);
}
index.js
import { Provider } from 'react-redux';
import configStore from './store/configStore';
const initialReduxStoreConfig = {
unit: 'm2',
language: 'en'
}
const store = configStore(initialReduxStoreConfig);
ReactDOM.render((
<Provider store={store}>
<App/>
</Provider>
), document.querySelector('#root'));
helpers.js
import configStore from '../store/configStore';
const store = configStore();
function getTranslation(key, lang = null) {
console.log(store.getState());
}
このアプローチは、はconsole.log(store.getState())として動作していない未定義返します。しかし、configStore()にinitialConfigを渡すと、新しいストアが構築され、すべて正常に動作します。
ありがとうございました。
ストア初期化コードを別のモジュールに移動し、エクスポートストアに保存し、使用する必要がある場合はインポートすることができます。 – Flying
より具体的にお願いしますか?私は別のファイルにストアを作成しています。私はindex.js内のconfigStore()関数を呼び出しています – DavidN
解決策の例を下に私の答えを見てください – Flying