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,
}));
})
}