Что должно быть вокруг store в Redux

«Что должно быть вокруг store в Redux» — вопрос из категории Библиотеки, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Redux store должен быть обернут в <Provider> из react-redux, который передает store всему приложению через контекст. Provider принимает store как пропс.

Пример:

import { Provider } from 'react-redux';
import { createStore } from 'redux';
import rootReducer from './reducers';

const store = createStore(rootReducer);

ReactDOM.render(
  <Provider store={store}>
    <App />
  </Provider>,
  document.getElementById('root')
);

Дополнительно store можно обернуть:

  • Middleware (redux-thunk, redux-saga)
  • DevTools для отладки
  • Enhancers для расширения функционала

Важно, чтобы store был единственным для всего приложения и инициализировался до рендера корневого компонента.