Component did update prevState not working

Viewed 122

How to update component when states getusersmsgcount changes. The problem is, without manually reloading page state does not change. And this.state and prevState is same. Following is my code. Please Help. If I call this.updateCount() in componentdidUpdate() without prevstate it gets into infinite loop

    this.state = {
    getusersmsgcount: 0,
};

componentDidMount() {
        this.updateCount();
}

componentDidUpdate(prevProps, prevState) {
        const prevuseritem = prevState.getusersmsgcount;
        const currentuseritem = this.state.getusersmsgcount;
        console.log("Previous user item = ", prevuseritem, "Current user item = ", currentuseritem)
        if(prevuseritem !== currentuseritem) {
            this.updateCount();
        }
    }
    
    updateCount = () => {
        CometChat.getUnreadMessageCount().then((counter) => {
            const summsgs = Object.values(counter.users);
            const usersmsgcount = summsgs.reduce((partialSum, a) => partialSum + a, 0);
            return this.setState((prevState) => ({
                ...prevState, 
                getusersmsgcount: usersmsgcount,
            }));
        })
    }
0 Answers
Related