React Router v4의 변경 사항
9294 단어 react-routerReact
React Router 버전이 4로 바뀌면서 많은 변화가 있었습니다.
공식 페이지도 바뀌었다.
https://reacttraining.com/react-router/web/guides/quick-start
import
이전에는
react-router
부터 import을 시작하는 방법이었지만, v4 페이지와native는 분리되었다.웹의 경우
react-router-dom
,native는react-router-native
에서import의 규격으로 변경됩니다.// v3
import { Route } from 'react-router'
// v4 : web
import { Route } from 'react-router-dom'
// v4 : native
import { Route } from 'react-router-native'
Router
로터도 큰 폭의 규격 변경을 진행했다.
저는 개인적으로 v4를 비교적 좋아합니다.
// v3
import React from 'react'
import { render } from 'react-dom'
import {
Router,
Route,
IndexRoute,
IndexLink,
browserHistory
} from 'react-router';
render(
<Router history={browserHistory}>
<Route path='/' component={App}>
<IndexRoute component={Top} />
<Route path='hoge' component={Hoge} />
</Route>
</Router>
)
// v4
import React from 'react'
import { render } from 'react-dom'
import {
Route,
BrowserRouter
} from 'react-router-dom'
render(
<BrowserRouter>
<div>
<Route exact={true} path='/' component={Top}/>
<Route path='hoge' component={Hoge}/>
</div>
</BrowserRouter>
)
매개 변수의 수용 방법
매개 변수의 수신 방법도 변경되었다.
지금까지props 바로 아래에 수치를 넣었고 v4는match에 파라미터를 넣었습니다.
// v3
import React, { Component } from 'react'
class Hoge extends Component {
constructor(props) {
super(props);
// this.props.paramsにパラメーターが格納
const params = this.props.params
}
render() {
return (
<div>Hoge</div>
)
}
}
// v4
import React, { Component } from 'react'
class Hoge extends Component {
constructor(props) {
super(props);
// パラメーターはthis.props.match内に変更
const params = this.props.match.params
}
render() {
return (
<div>Hoge</div>
)
}
}
총결산
나는 또 다른 변경점이 있다고 생각하지만, 나는 먼저 대체적으로 내가 수정한 변경을 총결하였다
파괴적인 변경도 있기 때문에 v3로 만든 물건을 강제로 담을 필요가 없다고 생각합니다.
Reference
이 문제에 관하여(React Router v4의 변경 사항), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yutasuzuki/items/19d272e05669bafc926e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)