METEOR:注销后如何重定向

时间:2018-02-10 22:55:04

标签: meteor react-router meteor-accounts

我对Meteor& amp;反应。在这里,只要按下注销按钮,我想将当前用户重定向到主页。附上您可以使用注销按钮查看受保护的页面模板。

请注意我正在使用最新版本(Meteor 1.6.1和React V4)。

import React from 'react';
import { Accounts } from 'meteor/accounts-base';

export default class Link extends React.Component{
  onLogout(){
    Accounts.logout()
  };
  render(){
    return(
      <div>
        <p>Private Content goes here</p>
        <button onClick={this.onLogout.bind(this)}>Logout</button>
      </div>
    );
  }
};

任何形式的支持都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

这里有两个主要选项:

1。将回调传递给Accounts.logout(func)

这是最简单的但将返回行为混合到您的组件中,这是不理想的。

2。使用Accounts.onLogout(func)

您可以将此与您的帐户初始化或路由器代码放在一起,无论哪种逻辑组合在一起,最适合您的应用。

在该回调中,您将需要使用路由器进行重定向。确切的语法取决于您的路由器,但通常如下所示:

Router.go('/')

答案 1 :(得分:1)

另一种方式,如果你通过meteor-useraccounts方式设置东西......

const myLogoutFunc = function() {
  FlowRouter.go('/login');
}

AccountsTemplates.configure({
  // Hooks
  onLogoutHook: myLogoutFunc,
  onSubmitHook: mySubmitFunc,
  preSignUpHook: myPreSubmitFunc,
  postSignUpHook: myPostSubmitFunc,
});

模板事件代码是这样的......

'click .logout': () => {
  AccountsTemplates.logout();
}

请在此处详细阅读https://github.com/meteor-useraccounts/core/blob/master/Guide.md