我的应用程序有一个组件,可以在某些页面的顶部创建导航栏。我想仅在用户当前登录时显示“注销”按钮(localStorage 中存储有 token )。
当运行下面的代码时,浏览器会给出以下错误:
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>)
}
})
最佳答案
由于这是一个类,因此您应该引用如下内部函数:this.showLogout()
关于javascript - React组件找不到函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35421048/