2

我的应用程序有一个在某些页面顶部创建导航栏的组件。我只想在用户当前登录时显示“注销”按钮(在 localStorage 中存储了一个令牌)。

当下面的代码运行时,浏览器给我以下错误:

ReferenceError:找不到变量:showLogout

import React from 'react'
import NavHelper from './components/nav-helper'

export default React.createClass({
  render () {
    return(
      <NavHelper>
        <nav className='top-nav top-nav-light cf' role='navigation'>
          <input id='menu-toggle' className='menu-toggle' type='checkbox'/>
          <label htmlFor='menu-toggle'>Menu</label>
            <ul className='list-unstyled list-inline cf'>
              <li><a href="/home">Website</a></li>
              <li><a href='/languages'>Languages</a></li>
              <li><a href='/topics'>Topics</a></li>
              //==========================
              {window.localStorage.token ? showLogout() : null}
              //==========================
              <li className='pull-right'><a href='/saved'>Saved</a></li>
            </ul>
        </nav>
        <div className='container'>
          {this.props.children}
        </div>
      </NavHelper>

    )
  },
  showLogout() {
    return (<li className='pull-right'><a href='/logout'>Logout</a></li>)
  }
})
4

1 回答 1

3

由于这是一个类,你应该像这样引用内部函数: this.showLogout()

于 2016-02-15T23:34:59.623 回答