2017-02-08 5 views
1

場合URL http://server:port/(とのindex.html)以下の反応ルータ構成起動アプリケーションで反応ルータへのパラメータとしてのコンポーネントを与える方法

render((
    <Router history={browserHistory}> 
     <Route path="/" component={Component1}/> 
     <Route path="/component1" component={Component1}/> 
     <Route path="/component2" component={Component2}/> 
    </Router> 
), document.getElementById('root')) 

コンポーネント1であるコンポーネントがロードされ走るJavascriptアプリケーションを初めて起動したときにComponent1またはComponent2を動的に実行できるようにルータを変更するにはどうすればよいですか?それは可能ですか?我々はCOMPONENT2が実行され、この

http://server:port/component2 

のようなURLに何かをロードする場合

だから我々は、コンポーネント1が実行され、この

http://server:port/component1 

のようなURLに何かをロードします。

答えて

0

オブジェクトn別のURLからSpringブートからforwardを追加しました:s( "/ component1"、 "/ component2")からindex.htmlへ。

1

はい、あなたはPlain route使用してそれを行うことができます - あなたのルータJSX

const routes = require('./routes/index').default(store) 
<Router history={browserHistory} children={routes} /> 

とルート

ルート

export default (store) => ({ 
path : 'songs', 
getComponent (nextState, cb) { 
    require.ensure([], (require) => { 
    //get component 
    cb(null, component) 
    }, 'webpack-bundle') 
} 

これはWHE働くその

export const createRoutes = (store) => ({ 
    path  : '/', 
    component : //layout, 
    indexRoute : //index route, 
    childRoutes : [//all routes of appliction] 
}) 
+0

答えに感謝しますが、理解するのは簡単ではありません。それは私の状況で働いていますか?ブラウザーがURL http:// server:port /をロードすると、まずhttp:// server:port/index.htmlがロードされます。 index.htmlにはjavascriptファイルへの参照があります。ブラウザが最初に(JavaScriptファイルをロードせずに)http:// server:port/component1をロードすると、http:// server:port/component1/index.htmlをロードしようとしますが、インデックスがないのでエラーが発生します。そのサーバーのフォルダ内のhtml。 – Sakke

+0

ブラウザはindexRouteを参照します。indexRouteは、回答メソッドで 'songs'ルートを参照します。どこのコンポーネントを返しますか? –

+0

答えとして追加して受け入れますか? – KettuJKL

関連する問題