https://www.npmjs.com/package/redux-persist
에서 quick start 셋팅 참조 가능
redux 에서 local storage 사용할 수 있도록 하는 라이브러리
npm install redux-persist
Route 이용하여 경로설정
/product/:id 에서 :id
는 /뒤에 어떤 값이 와도 해당 컴포넌트 페이지로 이동할 수 있게 해줌
초기셋팅
import storage from 'redux-persist/lib/storage';
로컬스토리지 (탭 닫아도 유지)
import sessionStorage from 'redux-persist/es/storage/session';
세션스토리지 (탭 닫으면 없어져)
import persistReducer from 'redux-persist/es/persistReducer';
리듀서가 실행될 때 persist를 같이 묶어서 사용할 수 있게 해줌
const persistedReducer = persistReducer(persistConfig,rootReducer) ;
//rootReducer 와 persist 를 묶어서 사용
//redux-persist 를 사용해서 로컬스토리지에 state 저장하면 페이지가 새로고침 되어도
//initialState값이 local storage 에 저장된 state 값으로 대체되기 때문에 초기화 되지 않는다.
{
user?
(<span className='user' onClick={()=>{dispatch(logout(false))}}>로그아웃</span>) :
(<span className='user' onClick={()=> navigate('/login')}>로그인</span>)
}
goToDetail 함수를 만들고, useNavigate이용하여 상품명을 누르면 해당 상품페이지 아이디로 이동
useParams 이용하여 데이터의 id값으로 이동할 수 있게함