React组件找不到功能

时间:2016-02-15 23:32:08

标签: javascript reactjs jsx

我的应用程序有一个组件,可以在某些页面的顶部创建一个导航栏。我想仅在用户当前登录时显示“注销”按钮(存在于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>)
  }
})

1 个答案:

答案 0 :(得分:3)

由于这是一个类,你应该参考这样的内部函数:this.showLogout()