Meteor.loginWithPassword没有调用回调

时间:2019-02-02 06:14:45

标签: reactjs meteor login

我一直在将用户帐户功能添加到Meteor + React App中。

对于使用Meteor.loginWithPassword进行的登录,我没有在服务器日志中看到任何特殊异常或崩溃的迹象。但是,回调永远不会被调用。

The Login Request

上面的“登录请求”看将张贴在控制台中。

但是“登录处理”从不执行,表明该回调从未执行。

accounts-ui和accounts-password已添加到流星中。

订阅仍然有效,所以我不确定是什么原因导致订阅失败。

我至少希望在服务器端也会引发一些异常,但是我没有得到有关正在发生的事情的明显信息。 这是我的React代码:

import React from 'react';
import Meteor from 'meteor/meteor'
import { Input, Button } from 'react-onsenui'

class LoginPage extends React.Component{
    constructor(props) {
        super(props);

        this.state = {
          username: "",
          password: "",
        };
    }

    loginRequest(){
        console.log("Login Requested")
        Meteor.loginWithPassword(this.state.username, this.state.password, function(error){
            console.log("Login Processed");
        });
    }

    render(){
        return (
            <form className="LoginPage">
                <p>
                <Input
                    value={this.state.username} float
                    onChange={(event) => { this.setState({username: event.target.value})} }
                    modifier='material'
                    placeholder='Username' />
                </p>
                <p>
                <Input
                    value={this.state.password} float
                    onChange={(event) => { this.setState({password: event.target.value})} }
                    modifier='material'
                    placeholder='Password' />
                </p>
                <Button onClick={this.loginRequest.bind(this)} modifier="large--cta">Login</Button>
            </form>
        )
    }
}

export default LoginPage;

2 个答案:

答案 0 :(得分:0)

好的,我终于解决了这个问题。 每次我认为我了解Javascript时,很明显我不明白。

问题出在我如何导入流星。 我改变了

从“流星/流星”导入流星

从“流星/流星”导入{流星}

我不知道为什么会这样,所以请有人解释,这样我就不会再犯此错误了。

答案 1 :(得分:0)

我相信默认的导入/导出和命名的导入/导出之间是有区别的。 这是一个解释:When should I use curly braces for ES6 import?

第一个(不带括号)表示默认导入。第二个是命名导入,与导出的确切名称匹配。

这与行

匹配
api.export('Meteor');

可以在核心Meteor软件包中找到: https://github.com/meteor/meteor/blob/master/packages/meteor/package.js

在Meteor文档中也有关于模块信息的解释: https://docs.meteor.com/packages/modules.html#Basic-syntax

您可能也对Meteor论坛上的该主题感兴趣: https://forums.meteor.com/t/how-do-you-know-the-name-to-import/26718

相关问题