2017-02-23 61 views
0

我的应用程序是使用react + redux,我用this.context.router API来重定向我的页面,但是反应官方建议我们不需要用户使用context API,而且我也用history来重定向页面,然后我会收到来自console的警告“警告:[react-router] props.history和context.history已弃用,请使用context.router。”,那么如何使用js代码重定向如何使用js代码重定向

+0

是否使用的是'反应,router'的版本? – jakee

回答

0

这取决于你的react-router

版本在v4你能想到的redirection as a component

class MyComponent extends Component { 
    render() { 
    return this.props.isLoggedIn ? (
     <p>You're logged in!!</p> 
    ) : (
     <Redirect to="/login" /> 
    ) 
    } 
} 
v3

我会建议使用browserHistory

import { browserHistory } from 'react-router' 

class MyComponent extends Component { 
    componentDidMount() { 
    if (!this.props.isLoggedIn) browserHistory.replace('/login') 
    } 

    render() { 
    if (this.props.isLoggedIn) return (<p>You're logged in!!</p>) 
    return null 
    } 
} 
+0

谢谢,我想用js代码重定向寻呼机,比如'browserHistory.replace',绝对使用''也可以重定向,但是我不能使用标签,所以我使用'history' API,但是我会得到警告'警告:[react-router] props.history和context.history已被弃用。请使用context.router' – taven