Я использую: [email protected]. Я хочу перенаправить пользователя на другую страницу, но после вставки клиента он обновляется. Это означает, что я заполняю форму, сохраняю данные, выполняю навигацию, а затем с обновлением клиента я возвращаюсь на страницу формы.
// 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
Да, я использую response-router-dom. Навигация работает как положено.
Я предполагаю, что вы используете событие отправки формы? Перед вызовом Meteor Method insertPlayer
убедитесь, что вы используете event.preventDefault()
. Если вы не выполните event.preventDefault (), страница обновится.
Ага, очень вероятно. Событие отправки находится на эта строка кода в репо.
Вы используете какой-нибудь роутер?