की रेंडर विधि की जांच करें मेरा ऐप प्रतिक्रिया-राउटर के साथ ES6 प्रतिक्रिया अनुप्रयोग है। मैं थोड़ी देर के बाद उपयोगकर्ता को एक अलग पृष्ठ पर रीडायरेक्ट करना चाहता हूं।आवश्यक संदर्भ 'राउटर` निर्दिष्ट नहीं किया गया था। `रूटिंग कॉन्टेक्स्ट`
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
}
और प्रतिक्रिया रूटर अनुमार्गण तालिका: यहाँ मेरी प्रतिक्रिया घटक है
render(
<Router>
<Route path='/' component={ App }>
<IndexRoute component={ Component } />
</Route>
</Router>
, document.getElementById('app-container'));
मुद्दा यह है कि 'रूटर' संपत्ति घटक में पारित नहीं किया जाता है। क्रोम कंसोल की सामग्री है:
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
प्रतिक्रिया संस्करण 0.14.2 है, प्रतिक्रिया रूटर संस्करण 1.0.0-RC4 मैं कहां गलती कर रहा है?
मैं http://stackoverflow.com/questions/32033247/react-router-transitionto-is-not-a-function/33008706#33008706 बनाया निर्माता और परिवर्तित मूल्य से सलाह का पालन 'राउटर' संदर्भ प्रकार का, लेकिन परिणाम 'संक्रमण' अभी भी उपलब्ध नहीं है। – taydakov
पेपैल डेवलपर्स के पास एक ही समस्या थी लेकिन यह बंद कर दिया गया था https://github.com/paypal/react-engine/issues/82 – taydakov