Comment mettre à jour les accessoires du composant enfant ?


Daniel Movsesyan

J'ai une application de liste de tâches et elle obtient des données du serveur. Ensuite, j'ai un composant enfant de recherche qui prend l'état de son parent comme accessoire, puis lorsque vous recherchez quelque chose, il filtre et met à jour l'état du parent en passant son nouvel état filtré.

Jusque-là, tout va bien, mais lorsque j'essaie de supprimer quelque chose de cette liste recherchée, puis que je recherche la même chose, cela me donne une note déjà supprimée.

Je pense simplement qu'il ne met pas à jour les accessoires du composant de recherche lorsque l'état de son parent est déjà mis à jour après la suppression.

Comment puis-je resoudre ceci?

J'utilise React JS)

Mohamed Ramrami

Ce dont vous avez besoin est componentDidUpdatedans le SearchBarcomposant :

componentDidUpdate(prevProps) {
    if (this.props.data !== prevProps.data) {
        this.setState({data: this.props.data ,filteredData: this.props.data});
    }
}

Une meilleure solution est de ne pas stocker datacomme état dans SearchBar, il suffit d'y accéder directement depuis les props

Articles connexes