Meteor.call()之后,Meteor重新启动客户端

时间:2018-12-17 15:36:36

标签: javascript meteor meteor-react

我正在使用:meteor-base@1.4.0。 我想将用户重定向到另一个页面,但是在插入客户端后刷新它。这意味着我要填写表单,存储数据,进行导航,然后在客户端刷新后回到表单页面。

// Methods.js
import { Meteor } from "meteor/meteor";
import { Players } from "../imports/api/players";

Meteor.methods({
    insertPlayer(player) {
        Players.insert(player);
    }
})

我正在这样调用方法:

// New-player.jsx
Meteor.call("insertPlayer", player, (error) => {
    if(error) {
        alert("Oups something went wrong: " + error.reason);
    } else {
        this.props.history.push("/");
    }
})

我将值存储为:

// Players.js
Players.allow({
    insert() { return false; },
    update() { return false; },
    remove() { return false; }
});

Players.deny({
    insert() { return true; },
    update() { return true; },
    remove() { return true; }
})

任何想法都可能导致这种现象吗? 我缺少任何配置吗?

可以在这里找到该项目:https://github.com/roedit/soccer-app

1 个答案:

答案 0 :(得分:1)

我假设您正在使用表单提交事件?确保在调用流星方法insertPlayer之前使用的是event.preventDefault()。如果不使用event.preventDefault(),则页面将刷新。