2016-11-27 10 views
0

ルータの起動時に、実行時にルータに新しいルートを動的に追加することはできますか?例えば、ユーザーは何かを入力した後、私は新しいルートを作成します。新しい経路を動的に追加するには?

+0

追加できるようにしたいというルートのタイプの例を記載してください。答えはおそらくいいですが、あなたはこれを別の方法で行うことができますが、私はあなたが確実にするために何をしようとしているのかを見極める必要があります。 –

+0

@PaulS今、ちょっとしたチュートリアルを作っていますが、この質問が発生しました。現実的な例はありません。私はちょうどそれが可能な場合、つまりいくつかの条件のためにサーバーがあなたに新しいルートのbanchを送信する場合、可能性がある場合は心配した...しかし、おそらく実行時ルート作成の実際のケースはありません – aspirisen

+1

一般的に何をしたいでしょうGlenn Reyesが彼の答えで説明したものです。これは、任意の値にできるルートパラメータを使用することです。 –

答えて

4

おそらくroute paramsを使用します。ここで

は簡単な例です:

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

class App extends React.Component { 
    state = { 
    value: '', 
    } 

    handleChange = (event) => { 
    this.setState({ 
     value: event.target.value, 
    }); 
    } 

    render() { 
    return (
     <div> 
     <input type="text" value={this.state.value} onChange={this.handleChange} /> 
     <Link to={`/${this.state.value}`}>{this.state.value && `Go to /${this.state.value.toLowerCase()}`}</Link> 
     </div> 
    ); 
    } 
} 

const Page = (props) => (
    <h1>{props.params.term}</h1> 
); 

ReactDOM.render(
    <Router history={browserHistory}> 
    <Route path="/" component={App}> 
     <Route path="/:term" component={Page}/> 
    </Route> 
    </Router>, 
    document.querySelector('#app'), 
); 
関連する問題