現在、私はユーザーが自分のアカウントを削除できるように関数を作成しています。私はreact-meteor-data
を使って反応的にユーザオブジェクトを検索しています。Meteor.user()はMeteor.users.removeに反応しません
これで、サーバー上で自分のメソッドを呼び出すときに、ユーザーコレクションからユーザーを正常に削除できますが、クライアントのMeteor.user()
オブジェクトはユーザーを削除した後も反応しなくなりました。私が気にしなければならない措置はありますか?私はこのようにすることができると思っていた:
- ユーザーは自分のアカウントを削除します。
- ユーザーは、ユーザーコレクションに削除されると、ログアウトされます/または
Meteor.user()
ことを私はこれまでやったユーザー
を削除した後の反応である:
コンテナ
サーバー方法
Meteor.methods({
selfDelete() {
console.log(this.userId);
try {
Meteor.users.remove(this.userId);
} catch (e) {
throw new Meteor.Error('self-delete', 'Failed to remove yourself');
}
}
});
selfDelete()
が呼び出された後、ユーザーはコレクションから削除されますが、クライアント側ではMeteor.user()
は更新されません。
誰かがこのような理由を知っているかもしれないし、ユーザーが自分のアカウントを削除できるようにするよりよい方法があるかもしれません。これは、ユーザーが自分の反応容器の中に機能を再実行するために、コレクションとでビルドトラッカーに依存します
const user = Meteor.users.findOne(Meteor.userId());
に事前
ありがとうございます。あなたのアプローチを試みましたが、残念ながらそれは動作しません。コレクションからユーザーを削除すると、クライアント側全体が固執しているように見えます。 '流星のおもちゃ'では、ユーザーはまだログインしており、購読も更新されていません。 – grahan
流星のおもちゃパッケージを取り除くとどうなりますか? – Jankapunkt
問題はまだ存在します。 Meteor.user()がコレクションに反応しない理由は分かりません。 – grahan