2016-03-31 24 views
6

Tôi đã cố gắng để programatically điều hướng đến một trang khác như vậy this.props.history.push('/new-path'); nó làm việc, nhưng tôi nhận được cảnh báo không dùng nữa trong giao diện điều khiển nói:this.props.history bị phản đối (phản ứng-router)

Warning: [react-router] props.history and context.history are deprecated. Please use context.router. thêm về nó ở đây https://github.com/reactjs/react-router/blob/master/upgrade-guides/v2.0.0.md#changes-to-thiscontext


Sau đó tôi cố gắng sử dụng phương pháp mới này như vậy this.context.router.push('/new-path') nhưng điều này dường như không phải là phương pháp đúng.

+0

Có thể liên quan: http://stackoverflow.com/questions/35213446/react- router-this-context-router-push-không-không-remount-the-component –

Trả lời

13

Có thể bạn đã quên định nghĩa bộ định tuyến là contextType? Giả sử bạn có một thành phần như:

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

Bạn cần phải xác định contextTypes như sau ngay bên dưới thành phần của bạn:

YourComponent.contextTypes = { 
    router: React.PropTypes.object.isRequired 
}; 
Các vấn đề liên quan