From 5396870d2f3967660561d7b7bbcbb0c412ae3867 Mon Sep 17 00:00:00 2001 From: dm1sh Date: Sun, 17 Oct 2021 16:40:38 +0300 Subject: [PATCH] Added redux storee to project --- package.json | 4 +++- src/hooks.ts | 6 ++++++ src/store/index.ts | 10 ++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 src/store/index.ts diff --git a/package.json b/package.json index 30b083d..df19e4a 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,10 @@ "dependencies": { "@mui/icons-material": "^5.0.3", "@mui/material": "^5.0.3", + "@reduxjs/toolkit": "^1.6.2", "react": "^17.0.2", - "react-dom": "^17.0.2" + "react-dom": "^17.0.2", + "react-redux": "^7.2.5" }, "private": "true" } diff --git a/src/hooks.ts b/src/hooks.ts index 25d6efb..cae27fc 100644 --- a/src/hooks.ts +++ b/src/hooks.ts @@ -1,4 +1,7 @@ import { ChangeEventHandler, useState } from "react"; +import { TypedUseSelectorHook, useDispatch, useSelector } from "react-redux"; + +import { AppDispatch, RootState } from "./store"; export type UseInputValueReturnT = { onChange: ChangeEventHandler; @@ -18,3 +21,6 @@ export const useInputValue = ( value, }; }; + +export const useAppDispatch = () => useDispatch(); +export const useAppSelector: TypedUseSelectorHook = useSelector; diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..cc1242d --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,10 @@ +import { configureStore } from "@reduxjs/toolkit"; + +const store = configureStore({ + reducer: {}, +}); + +export type RootState = ReturnType; +export type AppDispatch = typeof store.dispatch; + +export default store;