Meteor перезапускает клиент после Meteor.call () - PullRequest
0 голосов
/ 17 декабря 2018

Я использую: 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 голосов
/ 10 января 2019

Я полагаю, вы используете событие отправки формы?Убедитесь, что перед вызовом Meteor Method insertPlayer вы используете event.preventDefault().Если вы не используете event.preventDefault (), страница обновится.

...