ここでは本当に混乱します。私はそれがコンソールエラーを返したときに私の登録フォームのエラーがサーバー側で、今いくつかの変更を必要とルータ4を反応させ、ために更新:This.setstateはコールバック内でアンマウントします
setState(...): Can only update a mounted or mounting component. This usually means you called setState() on an unmounted component. This is a no-op. Please check the code for the RegisterForm component.
本当に混乱しています私はAccounts.createUser
機能のthis.setState({ errors: {createUserError: "Test error" }});
外を実行する場合、私はドンは」 consoldeエラーを受け取りません。
handleSubmit(event) {
event.preventDefault();
this.setState({errors: {} }, function() {
var data = {
email: this.state.email,
password: this.state.password
};
Accounts.createUser(data, (error) => { // This arrow function preserves this
if(error) {
this.setState({ errors: {createUserError: error.reason }});
}
});
});
}
コンポーネントがアンマウントされた理由をもっと詳しく説明する必要があります。 @GProstが彼のコメントで述べたように、このタイプの状態はコンポーネントの外にある可能性が最も高いので、ログイン結果から離れる前にログイン結果が明確になるまで待つべきだと思われます。 – MasterAM
私は問題を追跡することができました。これは、Public/Authenticatedルートコンポーネントとリンクされ、コンポーネントがアンマウントされました。 – bp123