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

Почему я не могу засунуть props в state и этот state отправить дочернему компоненту?

В props этого компонента по клику приходит число(изначально null),
Если передать < Work update={this.props.update}/ > как props ниже то все работает
Если передать < Work update={this.state.update}/ >как state то не работает.
Вопрос почему это так работает?
Я переприсваиваю стейту пропс, и хочу использовать стейт чтобы передать его компоненту ниже, почему мне просто передаётся пустота?
В < Work/> компоненте просто выводится как < div>{this.props.update}< /div>
import React, { Component } from 'react'
import Work from '../Work'

export default class ArticleList extends Component {
    constructor(props) {
        super(props);
        this.state = {
            update: this.props.update
        }
    }


    render() {
        var workList = (
            <Work
                update={this.props.update}
            />
        )

        return workList
    }

}

Да я понимаю, что я чего-то сильно не понимаю
  • Вопрос задан
  • 300 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@dimoff66
Кратко о себе: Я есть
Если передать < Work update={this.state.update}/ >как state то не работает.


Без разницы как вы передаете. Если на момент вызова строчки
< Work update={this.state.update}/ >

значение this.state.update будет верным, то в таком виде оно попадет и в Work, но что там происходит с вашим state вышеприведенный код умалчивает. Смотрите отладчиком что содержит this.state.update
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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