0

送信時にユーザーメモを表示しようとしています。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 内では、サーバーに継続的なリクエストが送信され、アプリケーションがクラッシュします。誰かが私がここで間違っていることを説明してもらえますか?

4

1 に答える 1