step-by-step гайд по настройке RTK c TS
Ну серьезно, документацию к Redux Toolkit будто в Гестапо писали 🤮 Чтобы реже её открывать, сам раскидал по порядку все шаги по настройке стора в новых проектах Vite. Да, я знаю что есть шаблон vite-template-redux, но он тоже какой-то убогий и перегруженный - быстрее настроишь все сам, чем удалишь из него лишний код.
И проверяем, что наше приложение успешно запускается:
Обычно для Redux я создаю в проекте отдельную папку store и в нее добавляю index.ts (тут уже на вкус и цвет):
📄 src/store/index.ts
Эти обертки над useDispatch и useSelector помогут нам уменьшить количество бойлерплейта (больше не придется постоянно писать (state: RootState) и импортировать AppDispatch при каждом вызове dispatch). Файл hooks.ts я обычно создаю прямо в папке "store", так как эти хуки специфичны для Redux.
📄 src/store/hooks.ts
Импортируем Redux Store, который мы только что создали, и оборачиваем <App> в <Provider> с пропсом "store":
📄 src/main.tsx
Slice для компонента счетчика - будем использовать его как пример для создания компонентов в дальнейшем:
📄 src/components/counter/counterSlice.ts
Добавляем reducer в store:
📄 src/store/index.ts
📄 src/components/counter/Counter.tsx
Теперь можно импортировать этот компонент в App.ts и аналогично создавать новые компоненты, использующие Redux Store.