代码之家  ›  专栏  ›  技术社区  ›  Gerardo Bautista

我可以在常数内声明Meteor onLogout方法吗?

  •  0
  • Gerardo Bautista  · 技术社区  · 7 年前

    我可以在一个常量中声明一个方法,我试图在导航栏中实现onLogout方法,但我在方法中得到了一个错误,说“js[;]应为“或要求以这种方式声明类:

    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
    };
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Styx    7 年前

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

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