我想構建一個我的react/react-router/flux應用程序。 我想重定向用戶,當用戶輸入的祕密鏈接(如管理員頁)反應 - 無法使用context.router重定向頁面
這裏登錄頁面管理員組件:
class App extends React.Component {
render() {
if (!adminLogin){
this.context.router.transitionTo('/login');
}
return (
<div className="wrapper">
<Navbar />
<SidebarLeft />
<div className="content-wrapper">
{this.props.children}
</div>
<Footer />
</div>
);}}
App.contextTypes = {
router: React.PropTypes.func
};
export default App;
但是,我有一個proplem與反應方面
TypeError: Cannot read property 'transitionTo' of undefined
at App.render (App.js:8:5)
at [objectObject].ReactCompositeComponentMixin._renderValidatedComponentWithoutOwnerOrContext (D:\web\MVCmodel\library\lib\node_modules\react\lib\ReactCompositeComponent.js:587:34)
at [object Object].ReactCompositeComponentMixin._renderValidatedComponent (D:\web\MVCmodel\library\lib\node_modules\react\lib\ReactCompositeComponent.js:607:32)
at [object Object].wrapper [as _renderValidatedComponent] (D:\web\MVCmodel\library\lib\node_modules\react\lib\ReactPerf.js:66:21)
at [object Object].ReactCompositeComponentMixin.mountComponent (D:\web\MVCmodel\library\lib\node_modules\react\lib\ReactCompositeComponent.js:220:30)
at [object Object].wrapper [as mountComponent] (D:\web\MVCmodel\library\lib\node_modules\react\lib\ReactPerf.js:66:21)
at Object.ReactReconciler.mountComponent (D:\web\MVCmodel\library\lib\node_modules\react\lib\ReactReconciler.js:37:35)
at [object Object].ReactCompositeComponentMixin.mountComponent (D:\web\MVCmodel\library\lib\node_modules\react\lib\ReactCompositeComponent.js:225:34)
at [object Object].wrapper [as mountComponent] (D:\web\MVCmodel\library\lib\node_modules\react\lib\ReactPerf.js:66:21)
at D:\web\MVCmodel\library\lib\node_modules\react\lib\ReactServerRendering.js:42:38
at ReactServerRenderingTransaction.Mixin.perform (D:\web\MVCmodel\library\lib\node_modules\react\lib\Transaction.js:136:20)
at Object.renderToString (D:\web\MVCmodel\library\lib\node_modules\react\lib\ReactServerRendering.js:40:24)
at D:\web\MVCmodel\library\lib\server.js:326:27
at D:\web\MVCmodel\library\lib\node_modules\react-router\lib\match.js:58:5
at D:\web\MVCmodel\library\lib\node_modules\react-router\lib\useRoutes.js:120:15
at done (D:\web\MVCmodel\library\lib\node_modules\react-router\lib\AsyncUtils.js:49:19)
我對這個問題沒有任何想法,不知道如何解決它。請幫助我嗎?
我改變了它,但它沒有工作,並警告相同的消息! :( –
嘗試添加一個構造函數,並檢查第二個參數,這是上下文有一個路由器道具 – QoP
我嘗試添加'構造函數(道具){超級(道具);}',但結果是類似的。知道爲什麼 –