1. Component를 이용하여 리다이렉트
import React from 'react';
import { Link } from 'react-router';
const FilterLink = () => (
<Link
to='/filter'>
{children}
</Link>
);
export default FilterLink;
react-router의 Link 컴포넌트를 이용하여 redirect한다.
2. history props를 이용하여 리다이렉트
import React from 'react';
class Register extends React.Component {
handleNext = () => {
this.props.history.push('/');
}
render() {...}
}
export default Register;
this.props.history.push(url); history를 이용하여 redirect한다.
3. withRouter를 이용하여 리다이렉트 (하위 컴포넌트에서)
import React from 'react';
import { withRouter } from 'react-router-dom'
class Register extends React.Component {
handleNext = () => {
this.props.history.push('/');
}
render() {...}
}
export default withRouter(Register);
하위 컴포넌트의 경우에는 history를 접근할 수 없어 상위 컴포넌트의 Router의 history 객체와 연결시켜준다.
v4부터 browserHistory객체를 이용하여 Redirect하지 못한다.
'웹 프로그래밍 > React' 카테고리의 다른 글
React 핸들러 bind 함수 생략하기 (0) | 2017.06.21 |
---|---|
React Local State vs Redux State(Store) 언제, 어떤 것을 사용해야 하나? (0) | 2017.06.21 |