Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(Meteorjs/React)检查用户是否已登录_Meteor_Reactjs_Login - Fatal编程技术网

(Meteorjs/React)检查用户是否已登录

(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

现在我正在尝试在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
         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}
);