2016-03-31 5 views
6

(反応-ルータ)推奨されていませんその後https://github.com/reactjs/react-router/blob/master/upgrade-guides/v2.0.0.md#changes-to-thiscontextthis.props.historyは、私はプログラム的にそう<code>this.props.history.push('/new-path');</code>それは働いたが、私は言っコンソールで非推奨の警告を得たように別のページに移動しようとしていた


私はそうthis.context.router.push('/new-path')のように、この新しいメソッドを使用しようとしたが、これは正しいアプローチではないようです。

+0

をおそらく関連:あなたは右のあなたのコンポーネントの下に次のようにcontextTypesを定義する必要があり

class YourComponent extends React.Component { render() { return <div></div>; } } 

:http://stackoverflow.com/questions/35213446/react-あなたのようなコンポーネントを持っていると仮定すると、ルータ - このコンテキスト・ルータ・プッシュ・ノー・リマウント・ザ・コンポーネント –

答えて

13

多分あなたはcontextTypeとしてルータを定義するのを忘れましたか?

YourComponent.contextTypes = { 
    router: React.PropTypes.object.isRequired 
};