(Meteorjs/React)检查用户是否已登录
现在我正在尝试在Meteor中创建一个登录系统并做出反应。 我想根据用户是否登录显示不同的内容(Meteorjs/React)检查用户是否已登录,meteor,reactjs,login,Meteor,Reactjs,Login,现在我正在尝试在Meteor中创建一个登录系统并做出反应。 我想根据用户是否登录显示不同的内容 export default class LoginForm extends Component { render() { if (Meteor.userId() === null) return( // if user is not logged in display HTML stuff); } return( // user is logged in
export default class LoginForm extends Component {
render() {
if (Meteor.userId() === null) return( // if user is not logged in
display HTML stuff);
}
return( // user is logged in
display other stuff
);
}
}
这不起作用,因为Meteor.userId()在登录后总是未定义的
还有其他的可能性吗?我把它放在火焰中:
{{#if currentUser}} doStuff{{/if}}
也可以在React中使用它吗?该软件包是为集成而设计的。报告对此进行了更详细的解释
流星数据应该作为道具传递给组件。组件应根据对道具的更改重新呈现自身。该包是为集成而设计的。报告对此进行了更详细的解释
if(Meteor.user()){
}
流星数据应该作为道具传递给组件。组件应根据对道具的更改重新渲染自身
if(Meteor.user()){
}
或
应该检查已登录的用户
export default class LoginForm extends Component {
render() {
if (Meteor.userId()){
let elementToBeRendered =
//your elements
<form></form>
}
else{
let elementToBeRendered = //your other elements
}
return (
{elementToBeRendered}
)
}
}
导出默认类LoginForm扩展组件{
render(){
if(Meteor.userId()){
让ElementToBerndered=
//你的元素
}
否则{
让elementToBerndered=//您的其他元素
}
返回(
{elementToBerndered}
)
}
}
我应该为你做些什么
谢谢
或
应该检查已登录的用户
export default class LoginForm extends Component {
render() {
if (Meteor.userId()){
let elementToBeRendered =
//your elements
<form></form>
}
else{
let elementToBeRendered = //your other elements
}
return (
{elementToBeRendered}
)
}
}
导出默认类LoginForm扩展组件{
render(){
if(Meteor.userId()){
让ElementToBerndered=
//你的元素
}
否则{
让elementToBerndered=//您的其他元素
}
返回(
{elementToBerndered}
)
}
}
我应该为你做些什么
谢谢你,我用ultimatejs:tracker react代替了react流星数据 导出默认类LoginForm扩展TrackerReact(组件){
我使用ultimatejs:tracker react代替react流星数据 导出默认类LoginForm扩展TrackerReact(组件){
您可以使用Meteor.logging()进行检查,它返回true或false 在组件(LoginForm)中,可以这样检查
state = {
isLoggedIn: false,
}
componentDidMount() {
this.setState({ isLoggedIn: Meteor.loggingIn() });
}
render(){
return(
<div>
<b>{isLoggedIn ? is login : is not login}</b>
</div>
);
状态={
伊斯洛格丁:错,
}
componentDidMount(){
this.setState({isLoggedIn:Meteor.logging()});
}
render(){
返回(
{isLoggedIn?is login:is not login}
);
您可以使用Meteor.loggingIn()检查它是否返回true或false
在组件(LoginForm)中,可以这样检查
state = {
isLoggedIn: false,
}
componentDidMount() {
this.setState({ isLoggedIn: Meteor.loggingIn() });
}
render(){
return(
<div>
<b>{isLoggedIn ? is login : is not login}</b>
</div>
);
状态={
伊斯洛格丁:错,
}
componentDidMount(){
this.setState({isLoggedIn:Meteor.logging()});
}
render(){
返回(
{isLoggedIn?is login:is not login}
);