このチャプターの目次
ページ遷移
react-router を使う。
BrowserRouter/Switch/Route でアプリ内のページとコンポーネントのマッピングを定義する。
// index.js
import { BrowserRouter, Route, Switch } from 'react-router-dom';
// Routeを使って各Pathとコンポーネントを紐づける。
ReactDOM.render(
<Provider store={store}>
<BrowserRouter>
<Switch>
<Route exact path="/events/new" component={EventNew} />
<Route exact path="/" component={EventIndex} />
<Route exact path="/events/:id" component={EventShow} />
</Switch>
</BrowserRouter>
</Provider>,
...
);
リンクを配置するコンポーネントに Link を配置する。
// components/events_index.js
import { Link } from 'react-router-dom';
class EventIndex extends Component {
return (
<Link to={"/events/new"}>New Event</Link>
);
}
// components/events_show.js
import { Link } from 'react-router-dom';
class EventShow extends Component {
return (
<div>{this.props.match.params.id}</div>
);
}