-
React JS_RedirectingWEB/ReactJS 2020. 1. 29. 22:50
#6.4 ~ 6.5
아래 강의 중 'ReacJS로 웹 서비스 만들기'를 보고 배운 것과 모르는 것을 찾아 정리한 내용입니다.
https://academy.nomadcoders.co/courses
Academy
[멤버십] 초보를 위한 React Native [중급] React Native, Expo, iOS, Android % Complete
academy.nomadcoders.co
1. 리다이렉트
리다이렉트란 페이지를 다른 주소로 연결해 강제 이동 시키는 것이다. state가 없는 경우 오류가 발생하므로 이를 핸들링하기 위해 리다이렉트를 한 것이다. 즉, state가 undefined일 때 홈으로 이동하도록 한 것이다.
리다이렉트를 할 때 보이는 history.push를 살펴보면, 지난 포스팅에서 리액트 라우트에 의해 전해지는 props 중 url를 변경할 수 있는 history라는 것이 있었다. history의 props인 push를 이용해 리다이렉트를 할 수 있다. 리다이렉트를 하는 방법 중 하나라고 보면 될 것 같다.
//src/routes/Detail.js import React from 'react'; class Detail extends React.Component{ componentDidMount(){ const {location, history} = this.props; if(location.state === undefined){ history.push("/"); //홈으로 리다이렉트 } } render() { const {location} = this.props; if(location.state){ return <span>{location.state.title}</span> } else{ return null; } } } export default Detail;
2. Redux?
지금까지 만들어진 웹페이지는 Home으로 이동할 때마다 로딩을 한다. 너무 느리다. redux를 배우면 state를 어딘가에 저장해 두고 필요할 때만 꺼내서 쓰기 때문에 Home으로 갈 때 로딩없이 정보를 볼 수 있다.
'WEB > ReactJS' 카테고리의 다른 글
React JS_Router 2 (0) 2020.01.27 React JS_Router 1 (0) 2020.01.27 React JS_웹 페이지 클라우드에 올리기 by Github (0) 2020.01.26 React JS_Axios (0) 2020.01.22 React JS_State (0) 2020.01.20