【问题标题】:How to redirect to home page(in jsx) after logout in react注销后如何重定向到主页(在jsx中)
【发布时间】:2017-08-22 12:29:42
【问题描述】:
<li>
    <a href="homepage.jsx">
      <i className="fa fa-sign-out pull-right"></i> 
      Log Out
    </a>
</li>

我在homepage.jsx 中有主页组件,点击logout 后我需要转到主页组件。

帮帮我。

【问题讨论】:

  • 你在用 react-router 吗?
  • 是的,我正在使用 React-router

标签: html reactjs redirect react-jsx jsx


【解决方案1】:

你使用的是react-router,所以不要使用a和href,而是使用Link,这样写:

<li>
    <Link to="/">
        <i className="fa fa-sign-out pull-right"></i> 
        Log Out
    </Link>
</li>

由于主页组件是您的indexroute,因此导航到/ 将render 它。

如果您想在任何函数内动态导航,请查看以下答案:

Programmatically navigating in React-Router v4

【讨论】:

  • 1
    5
    6
    我有我需要的号码按值并验证前 2 个数字只能以 11 或 12 开头
  • 没听懂你,在这个没有输入字段的地方你按下值?你能发布完整的代码吗?
  • 我需要以这样的格式打印数字 - - - - - - - - - - - - - - - 但我能够以这种格式打印 1234567891234567,我需要这样做验证开始的 2 个数字是 11、12、13、14
  • ^\d{0,1}([1][1-9]+)|^\d{0,1}([2][1]+)|^\d{ 0,1}([3][1-6]+)|^\d{0,1}([5][1-3]+)|^\d{0,1}([6][1 -4]+)|^\d{0,1}([7][1-6]+)|^\d{0,1}([8][1-2]+)|^\d{ 0,1}(([9][1]+)|([9][4]+)) 对于值验证,我有这个如何在 jsx 的 react 中实现
【解决方案2】:

我假设您使用的是 react-router v 2.x.x。 您可以为此创建一个如下所示的组件。

您的路线还应包含您要重定向到的路线。

   <Route path="/" component={App}>
       <Route path="/homepage" component={Homepage}/>
   </Route>

class Logout extends React.Component {

    static contextTypes = {
        router: React.PropTypes.object.isRequired
    };

    constructor(props, context){
        super(props, context);
        this.state = {
            error:null
        };
    }

    logOut() {
        Api.logOut().then(
            () => {
                this.context.router.replace('/homepage');
            },
            () => {
                this.setState({
                    error:'Error occured while logging out. Please try again.'
                });
            }
        );
    }

    render(){

        return (
       <li>
          <a onClick={this.logOut} >
             <i className="fa fa-sign-out pull-right"></i> 
             Log Out
          </a>
       </li>
        )
    }
}

ReactDOM.render(<Logout/>, document.getElementById('app'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

<div id='app'/>

【讨论】:

    猜你喜欢
    • 2015-08-09
    • 2021-10-18
    • 2019-07-02
    • 2014-02-10
    • 2020-04-16
    • 1970-01-01
    • 2011-07-08
    • 2014-08-16
    • 2010-11-19
    相关资源
    最近更新 更多