У меня есть список избранных на моей странице, и когда я нажму на удаление, я отправлю вызов API в своем редукционном действии, которое удалит это избранное из списка избранных.Примерно так:
constructor(props) {
super(props);
this.state = {
favourite: null
};
this.getFavourite();
}
getFavourite() {
// get api call
}
removeFav(id) {
const { removeFav } = this.props;
removeFav(id);
this.setState({ favourite: null });
}
Однако, поскольку API не возвращает весь список снова, мне нужно вызвать другой метод для получения всего списка (теперь без того, который я только что удалил).
componentDidUpdate(prevState) {
if (prevState.favourite !== this.state.favourite) {
this.getFavourites();
}
}
Однако из-за этого повторного рендеринга страница, кажется, слегка мерцает каждый раз, когда я нажимаю кнопку «Удалить».
Нужно ли вообще делать componentDidUpdate()
или устанавливатьгосударство для нуля для любимого достаточно?Если я это сделаю, то я не столкнусь с мерцанием, но пользовательский интерфейс просто обновляется через состояние, а не фактические данные из хранилища (если только я не обновляю страницу, так как я вызываю getFavourites()
, когда страница загружается.