Чтобы получить доступ к Redux-хранилищу вне компонента, тебе нужно экспортировать экземпляр хранилища из модуля, где оно было создано. Такой подход держит твоё хранилище в изоляции и не загрязняет глобальное пространство имён.
Создай своё хранилище в отдельном модуле и экспортируй его:
import { createStore } from 'redux';
import myReducer from './reducers';
const store = createStore(myReducer);
export default store;
Когда хранилище экспортировано, ты можешь импортировать и использовать его в любом файле:
import store from './store';
// Получи текущее состояние
const state = store.getState();
// Отправь действие
store.dispatch(myAction);
// Подпишись на изменения
store.subscribe(() => {
console.log('State updated:', store.getState());
});
store.js для лучшей организацииwindow или другим глобальным объектамuseSelector и useDispatchПолучай доступ к хранилищу напрямую вне компонентов только когда это необходимо, например:
Для React-компонентов всегда предпочитай Redux-хуки — код получается чище и понятнее.
Экспорт store из отдельного модуля предотвращает загрязнение глобального namespace и при этом позволяет получить доступ к store вне компонентов React.
Новый — ещё не проверен сообществом
Вы