送信時にユーザーメモを表示しようとしています。componentDidMount で、最初にデータを表示するためにサーバーに GET リクエストを送信しています。ユーザーが新しいコメントを送信すると、componentDidUpdate で prevState をチェックしています。違いが見つかった場合は、サーバーから新しいデータをロードする必要があります。
しかし、 componentDidUpdate の内部では、継続的なリクエストがサーバーに送信されています。
これまでに行ったこと
componentDidUpdate(prevProps, prevState){
if(prevState.status !== this.props.userDisplayNotes.status){
// This is GET request to display the data from the server
this.props.displayUserNotes(this.props.user_id)
}
}
// Here I'm displaying data on initial rendering with GET request
componentDidMount(){
this.props.displayUserNotes(this.props.user_id)
}
// This is form submit handler
handleSubmit = (e) => {
e.preventDefault();
this.props.saveUserNote(this.props.user_id, this.state.userNote)
}
コメントの送信が成功すると、サーバーから {"status":"success"} のような応答が返されます
状態管理には Redux を使用しています。
しかし、componentDidUpdate 内では、サーバーに継続的なリクエストが送信され、アプリケーションがクラッシュします。誰かが私がここで間違っていることを説明してもらえますか?