Задать вопрос
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
т.е. массив не пустой
  • Вопрос задан
  • 78 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Вы задаете state в конструкторе. Конструктор вызывается лишь раз, при инициализации компонента.
this.props.data обновляется, просто, вы его, видимо, не используете.

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

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

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽