Задать вопрос
vanyahuk
@vanyahuk

Почему, когда обновляю state в родительском компоненте в дочернем props остаються тикими же?

вот в родительском компоненте передаю данные как пропсы дочернему
<FilteredList
                                        label={this.props._sharedData.loc.advanced_search.select_brand}
                                        data={this.state.brands}
                                    />


код дочернего

constructor(props) {


        super(props);
        
        this.state = {

            data: this.props.data,

            filteredData: this.props.data

        };


        console.log( this.state )

    }


вот вывод в консоль дочернего елемента

5ab0367191c5b679508528.png

и вот та дата, которую передаю
5ab036c6ac870603660437.png
т.е. массив не пустой
  • Вопрос задан
  • 77 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Вы задаете state в конструкторе. Конструктор вызывается лишь раз, при инициализации компонента.
this.props.data обновляется, просто, вы его, видимо, не используете.

Насколько я понимаю вашу задачу, вам нет никакого смысла писать props в state. Просто используйте props напрямую в методе render и все. Если надо их менять по какому либо событию, то предавайте дополнительно хандлер из родителя.

Старайтесь избегать макарон вида:
label={this.props._sharedData.loc.advanced_search.select_brand}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы