Meteor + React:根据登录状态显示不同的导航项
Meteor + React: Show different Navigation items depending on the login state
我有一个 Meteor + React 应用程序,我有一个 Header class 像这样:
import React, { Component } from 'react'
import { NavLoggedIn } from './header/NavLoggedIn'
import { NavLoggedOut } from './header/NavLoggedOut'
export class Header extends Component {
render() {
return (
<header className="main-header">
<nav className="navbar navbar-static-top" role="navigation">
<div className="navbar-custom-menu">
<NavLoggedIn />
<NavLoggedOut />
</div>
</nav>
</header>
)
}
}
我有一个运行良好的帐户系统,但现在我想根据用户是否登录来更改 NavBar
的外观。
我怎样才能做到这一点?
I.E.
如果 Meteor 用户登录显示 <NavLoggedIn />
组件。否则,显示 <NavLoggedOut />
组件。
您需要 import { Meteor } from 'meteor/meteor'
并将以下内容添加到您的 render()
函数中:
import React, { Component } from 'react'
import { Meteor } from 'meteor/meteor
import { NavLoggedIn } from './header/NavLoggedIn'
import { NavLoggedOut } from './header/NavLoggedOut'
export class Header extends Component {
render() {
let navigate;
// If Meteor.userID() is null then render <NavLoggedOut />, otherwise <NavLoggedIn />
if(Meteor.userId())
navigate=<NavLoggedIn />;
else
navigate=<NavLoggedOut />
return (
<header className="main-header">
<nav className="navbar navbar-static-top" role="navigation">
<div className="navbar-custom-menu">
{navigate}
</div>
</nav>
</header>
)
}
}
我有一个 Meteor + React 应用程序,我有一个 Header class 像这样:
import React, { Component } from 'react'
import { NavLoggedIn } from './header/NavLoggedIn'
import { NavLoggedOut } from './header/NavLoggedOut'
export class Header extends Component {
render() {
return (
<header className="main-header">
<nav className="navbar navbar-static-top" role="navigation">
<div className="navbar-custom-menu">
<NavLoggedIn />
<NavLoggedOut />
</div>
</nav>
</header>
)
}
}
我有一个运行良好的帐户系统,但现在我想根据用户是否登录来更改 NavBar
的外观。
我怎样才能做到这一点?
I.E.
如果 Meteor 用户登录显示 <NavLoggedIn />
组件。否则,显示 <NavLoggedOut />
组件。
您需要 import { Meteor } from 'meteor/meteor'
并将以下内容添加到您的 render()
函数中:
import React, { Component } from 'react'
import { Meteor } from 'meteor/meteor
import { NavLoggedIn } from './header/NavLoggedIn'
import { NavLoggedOut } from './header/NavLoggedOut'
export class Header extends Component {
render() {
let navigate;
// If Meteor.userID() is null then render <NavLoggedOut />, otherwise <NavLoggedIn />
if(Meteor.userId())
navigate=<NavLoggedIn />;
else
navigate=<NavLoggedOut />
return (
<header className="main-header">
<nav className="navbar navbar-static-top" role="navigation">
<div className="navbar-custom-menu">
{navigate}
</div>
</nav>
</header>
)
}
}