我的应用程序有一个组件,可以在某些页面的顶部创建一个导航栏。我想仅在用户当前登录时显示“注销”按钮(存在于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>)
}
})
答案 0 :(得分:3)
由于这是一个类,你应该参考这样的内部函数:this.showLogout()