【react-router】チェックリスト(私的)

  • routesファイルexportsは以下のように、 function(){return ...} の形
  • root path は別に '/' でなくとも大丈夫
module.exports = function() {
  return (
    <Route name="app" path="/videos" handler={App}>
      <Route name="youtube" handler={YouTube} />
      <Route name="vimeo" handler={Vimeo} />
      <DefaultRoute handler={Top} />
    </Route>
  );
};
  • server side で markupとして返却するstringは Handler component
app.get('/videos', function(req, res) {
  Router.run(routes, req.path, function(Handler) {
    res.render('index', {
      initialData: JSON.stringify(data),
      markup: React.renderToString(React.createElement(Handler, {params: {videos: data}}))
    });
  });
});
  • 上のコードはあくまで例にすぎないが、これだとURL直叩きで /videos/youtube にアクセスするとCannot GET
  • ので正規表現でmatchさせると良い。
app.get(/^\/videos/, function(req, res) {
  .....
});

参考: app.use - express - api