// /store/index.ts// redux 사용할 때 redux store를 만들어줘야하는데 여기에서 만들게 됨import { configureStore } from"@reduxjs/toolkit";
import reducer from"./reducer/reducer";
import { useSelector } from'react-redux';
const store = configureStore({
reducer
});
exporttypeRootState = ReturnType<typeof store.getState>
exporttypeAppDispatch = typeof store.dispatch;
// const logger = useSelector((state: RootState)=> state.logger);// 에러발생/*
chunk-EPSXJ6EN.js?v=a2c9f6bb:1062 Uncaught TypeError: Cannot read properties of null (reading 'useContext')
at Object.useContext (chunk-EPSXJ6EN.js?v=a2c9f6bb:1062:29)
at useReduxContext2 (react-redux.js?v=2b6e48a7:146:32)
at useSelector2 (react-redux.js?v=2b6e48a7:184:9)
at index.ts:13:16
React Hook "useSelector" cannot be called at the top level. React Hooks must be called in a React function component or a custom React Hook function.eslintreact-hooks/rules-of-hooks
*/exportdefault store;
redux.ts
// /hooks/redux.ts// redux를 위한 hooks eg. useSelector => / useDispatcher =>import { TypedUseSelectorHook, useSelector } from"react-redux";
import { useDispatch } from"react-redux";
import { AppDispatch, RootState } from"../store";
/**
* TypedUseSelectorHook<RootState> 타입으로 정의해야하는 이유
* RootState로 값을 반환할 때 {state: {..RootState}} 형태로 만들어주기 위해
*/exportconstuseTypedSelector: TypedUseSelectorHook<RootState> = useSelector
exportconstuseTypedDispatch = () => useDispatch<AppDispatch>();
// const logger = useTypedSelector(state => state.logger);