【问题标题】:I can declare a method Meteor onLogout within a constant?我可以在常量中声明一个 Meteor onLogout 方法吗?
【发布时间】:2017-10-03 04:02:13
【问题描述】:

我可以在常量中声明一个方法,我尝试在导航栏中实现 onLogout 方法,但我在方法中通过说“预期的 js [;]”或要求以这种方式声明类时出现错误:

导出默认类 Landing 扩展 React.Component

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

const NavbarLanding = () => {
  onLogout() {
    Meteor.logout();
  };
  return (
    <div className="navbar-landing">
      <nav>
        <div>
          <ul className="ul-landing">
            <img src="/images/fly_paper.svg"></img>
            <li className="navbar-title"><a>Landing</a></li>
 {/* <img border="0" height="40" hspace="0" src="/images/fly_paper.png" width="80" /> */}
 {/* onClick={this.onLogout.bind(this) */}
 {/* btn-primary */}
            <div className="navbar-menu">
              <li><a>acerca</a></li>
              <li><a>portafolio</a></li>
              <li><a>contacto</a></li>

              <button className="btn"onClick={this.onLogout.bind(this)}>Logout</button>
            </div>
          </ul>
        </div>
      </nav>
    </div>
  );
};

export default NavbarLanding;

NavbarLanding.reactProptype = {
  title: React.PropTypes.string.isRequired
};

【问题讨论】:

    标签: reactjs meteor logout accounts


    【解决方案1】:

    你在声明组件时出错了,应该是这样的:

    export default class NavbarLanding extends React.Component {
      onLogout() {
        Meteor.logout();
      }
    
      render() {
        return (
          // your html here
        );
      }
    };
    
    NavbarLanding.reactProptype = {
      title: React.PropTypes.string.isRequired
    };
    

    【讨论】:

    • 是的,找到有关它的信息,发现方法仅适用于对象/类。您不能将方法放在函数中。
    • @GerardoBautista 好吧,实际上你可以。类似于const myMethod = () =&gt; { ... };function myMethod() { ... },但不像您在代码中所做的那样。
    猜你喜欢
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 2020-07-27
    • 2018-11-12
    • 2011-05-09
    相关资源
    最近更新 更多