React Router を Rails ルーター上で使用するにはどうすればよいですか (react-rails gem は使用しません)? 質問する

React Router を Rails ルーター上で使用するにはどうすればよいですか (react-rails gem は使用しません)? 質問する

今、私はRuby on Railsアプリ(react-rails gemなし)の上にReactアプリを作っています。ブラウザリファイレールjs ファイルをコンパイルします。

だから私たちは反応ルーターアプリのルーターを設定する

これは私のmain.jsです

import React from 'react';
import ReactDOM  from 'react-dom';
import { Router, Route } from 'react-router';
import { browserHistory } from 'react-router';

/*Import Component*/

import DashBoard from './components/dashboard';
import Group from './components/dashboard';

/*
 *
 * Routes
 *
 * */

var routes = (
    <Router history={browserHistory}>
        <Route path="/" component={DashBoard}/>
        <Route path="/group" component={Group}/>
    </Router>
);

ReactDOM.render(routes , document.querySelector('#main'));

でも私が

http://my.app.dev/group

私は

No route matches [GET] "/group" (From Rails)

では、これを修正して、Rails ルーターの上に React ルーターを作成するにはどうすればよいでしょうか?

ありがとう!

ベストアンサー1

すべてのリクエストを単一のページにリダイレクトしたい場合は、次のようにすると簡単です。

# config/routes.rb 

root 'dash_board#index'
get '*path', to: 'dash_board#index'

Rails が DashBoard#index ページで React コンポーネントをレンダリングする場合、React のルーターはそこからそれをインターセプトします。

おすすめ記事