Как обновить реквизиты дочернего компонента? - PullRequest
0 голосов
/ 17 января 2019

У меня есть какое-то приложение со списком задач, и оно получает данные с сервера. Затем у меня есть дочерний компонент поиска, который принимает состояние своего родителя в качестве подпорки, а затем при поиске чего-либо фильтрует и обновляет состояние родителя, передавая его новое отфильтрованное состояние.

Пока все не будет в порядке, но когда я пытаюсь удалить что-то из этого списка поиска, а затем я ищу то же самое, это дает мне уже удаленную заметку.

Просто я думаю, что это не обновляет поискреквизиты компонента, когда его родительское состояние уже обновлено после удаления.

Как я могу решить эту проблему?

Я использую React JS)

1 Ответ

0 голосов
/ 17 января 2019

Что вам нужно, это componentDidUpdate в компоненте SearchBar:

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

Лучшее решение - не хранить data как состояние в SearchBar, просто получить доступ к нему напрямую из реквизита

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...