2016-08-18 7 views
2

私は自分のアプリケーションに反応ルータを実装しようとしていますが、私は "モーダル"ダイアログを表示するいくつかの "リンク"を持っているが、ルータがルートとして扱い、私を "ホーム"ページリアクタのリンクを無視するには?

<a href="#" onClick={() => this.props.Show(true) }><i className="fa fa-plus" aria-hidden="true"> 

リンクは、 "アプリケーション" コンポーネント内のコンポーネントであることをルータ

ReactDOM.render(
    <Provider store={store}> 
     <Router history={hashHistory}> 
     <Route path="/" component={Layout}> 
     <IndexRoute component={Home}></IndexRoute> 
     <Route path="app" name="app" component={App}></Route> 
     </Route> 
    </Router> 
    </Provider>, 
    document.getElementById('root') 
); 

編集

私は今

return (
      <a href="#" id="add-new-storage-item-btn" className={addNewItemClasses} onClick={(event) => this.setAddStorageItemModal(event) }><i className="fa fa-plus" aria-hidden="true"> Add New Item</i></a> 
     ); 

    setAddStorageItemModal(event) 
    { 
     this.props.setAddStorageItemModal(true); 
     event.stopPropagation(); 

    } 

私は最初の行にするevent.stopPropagationを入れてみましたが、動作しません。これを持っています。

答えて

1

あなたがナビゲートするからアンカータグを防ぎたい場合は、あなたがあなたのonClickイベントハンドラに

event.stopPropagation()

を追加することをお勧めします。

+0

ああ、私は偽を返そうとしました。しかし、それは動作しないように見えるので、私はこれを試していないが、それは動作します。 – chobo2

+1

アンカータグでない要素に 'onClick()'を代入することもできます –

+0

奇妙なことだと思っていましたが、今は動作していないようです。 – chobo2

関連する問題