I can declare a method Meteor onLogout within a constant?

48 Views Asked by At

I can declare a method within a constant, I try to implement the onLogout method in the navbar but I get an error in the method by saying 'js [;] expected' or require declaring the class in this way:

export default class Landing extends 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
};
1

There are 1 best solutions below

2
Styx On BEST ANSWER

You made an error declaring your component, it should be like this:

export default class NavbarLanding extends React.Component {
  onLogout() {
    Meteor.logout();
  }

  render() {
    return (
      // your html here
    );
  }
};

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