Ứng dụng của tôi là ứng dụng React ES6 với bộ phản ứng-bộ định tuyến. Tôi muốn chuyển hướng người dùng đến một trang khác sau một sự chậm trễ nhỏ. Đây là thành phần Phản ứng của tôi:Ngữ cảnh bắt buộc `bộ định tuyến` không được chỉ định. Kiểm tra phương thức render của `RoutingContext`
import React from 'react'
import { Navigation } from 'react-router'
export default class Component extends React.Component {
render() {
return (
<div>Component content</div>
)
}
componentDidMount() {
setTimeout(() => {
// TODO: redirect to homepage
console.log('redirecting...');
this.context.router.transitionTo('homepage');
}, 1000);
}
}
Component.contextTypes = {
router: React.PropTypes.func.isRequired
}
Và phản ứng-router định tuyến bảng:
render(
<Router>
<Route path='/' component={ App }>
<IndexRoute component={ Component } />
</Route>
</Router>
, document.getElementById('app-container'));
Vấn đề là 'router tài sản không được chuyển vào thành phần. nội dung Chrome console là:
Warning: Failed Context Types: Required context `router` was not specified in `Component`. Check the render method of `RoutingContext`.
redirecting...
Uncaught TypeError: Cannot read property 'transitionTo' of undefined
Phản ứng phiên bản 0.14.2, phiên bản phản ứng-router là 1.0.0-rc4 Nơi nào tôi phạm sai lầm?
Tôi làm theo lời khuyên từ http://stackoverflow.com/questions/32033247/react-router-transitionto-is-not-a-function/33008706#33008706 tạo constructor và giá trị thay đổi loại ngữ cảnh 'bộ định tuyến', nhưng kết quả là 'transitionTo' vẫn không có sẵn. – taydakov
Nhà phát triển PayPal có vấn đề tương tự nhưng đã bị đóng https://github.com/paypal/react-engine/issues/82 – taydakov