2017-08-07 6 views
0

基本的に、私はナビゲーションを遅らせています。関数内からNavlinkをクリックする方法はありますか?

リンクをクリックすると、onClickハンドラは条件をチェックしてナビゲーションを防止し、別の関数を呼び出します。特定の条件が満たされた場合、ページだけが別のページに移動します。

どのようにして、その機能内からNavlinkのクリックを引き起こすことができますか?

答えて

0

反応ルータのLinkコンポーネントを使用する代わりに、特定の条件が満たされている場合、APIを使用して別のページにプログラムでナビゲートすることができます。公式ドキュメントの

export default class MyComponent extends Component { 
    navCheck(nextPage) { 
    if (someCondition) { 
     this.context.router.history.push(nextPage); 
    } 
    } 

    render() { 
    return(<a onClick={() => this.navCheck('/next-page')}>Navigate To Another Page</a>); 
    } 
} 

MyComponent.contextTypes = { 
    router: PropTypes.shape({ 
    history: PropTypes.object.isRequired, 
    }), 
}; 

詳細情報:https://reacttraining.com/react-router/web/api/history

関連する問題