我是React的新手,希望有人可以了解为什么会发生这种情况以及如何调试它.
我定义了以下路线:
export default (withHistory,onUpdate) => { const history = withHistory? (Modernizr.history ? new BrowserHistory : new HashHistory) : null; return ( <Router history={history}> <Route path='/login' component={Login} /> <Route path='/' component={Home} onEnter={requireAuth} /> </Router> ); };
requireAuth应检查用户是否已登录,如果不是,则将其重定向到登录页面:
function requireAuth(nextState,transition) { transition.to("/login"); }
如果我离开transtion.to调用并浏览到根URL我只看到一条消息,说“无法获取/”,调试器中没有错误消息.在该行上设置断点似乎没有做任何事情.
特别奇怪的是,如果我用调试器替换transition.to(…);语句,然后调用该方法,路由工作完全正常.
我必须对某些事情有误解,对这是什么一无所知?