我的应用程序正在使用react+redux,我曾经this.context.router
API来重定向我的页面,但反应官方建议我们不需要使用context
API,我也曾经history
重定向页面,然后我会从console
收到警告"警告:[react-router] props.history和context.history已被弃用。请使用context.router.",那么我如何使用js代码重定向
这取决于您的react-router
版本
在v4
中,您可以将重定向视为一个组件:
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
}
}