홈페이지에서 평점을 바꾸고 상세페이지로 진입 후 뒤로가기를 클릭하게 되면, 바뀐 평점 페이지가 아닌 디폴트로 설정해놓은 평점이 반영된 영화리스트가 나옴
-> 2번으로 해결해보기로 함 !
useReducer를 사용해보고 싶어서 여기서 이용해볼까 하다가 목적이랑 완전이 부합하지 않는 것 같아서 pass !
App.js
export const UserContext = createContext();
function App() {
const [minRate, setMinRate] = useState(3);
return (
<UserContext.Provider value={{ minRate, setMinRate }}>
<BrowserRouter>
<Routes>
<Route
path={`${process.env.PUBLIC_URL}/movie/:id`}
element={<Detail />}
/>
<Route path={`${process.env.PUBLIC_URL}/`} element={<Home />} />
</Routes>
</BrowserRouter>
</UserContext.Provider>
);
}
Home.js
const { minRate, setMinRate } = useContext(UserContext);
1. useHistory()와 useNavigate()의 차이
둘 다 페이지를 이동할 때 사용할 수 있는 훅이지만, useNavigate는 React Router 6에서 도입되었다.
useHistory는 객체를 반환하고, useNavigate는 함수를 반환한다.
1. 로딩 화면 구축
2. 데이터 캐싱