Как инициализировать this.props в this.state - PullRequest
0 голосов
/ 24 июня 2019

В опоре несколько входных значений, но требуемое значение находится в состоянии.Мне сказали не инициализировать this.props = this.state, поскольку props доступен только для чтения.

Я пробовал this.props = this.state, и оно работало.

const prevHouse = this.props.house; // This has multiple input values

prevHouse.rent = this.state.rent; //State is given input value

Правильно ли приведенное выше использование синтаксиса и каково его решение?

Обновление: изменение this.props.house на prevHouse выше

Ответы [ 2 ]

1 голос
/ 24 июня 2019

Вы можете сделать копию реквизита и поставить его в штат. Если ваша цель состоит в том, чтобы изменить состояние в компонентном состоянии родителя от дочернего. Вам нужно использовать Context Api или Redux

1 голос
/ 24 июня 2019

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

componentDidMount() {

    this.setState({
      rent: this.props.house.rent
    })

  }

Таким образом, когда компонент монтирует ваше значение состояния, rent будет значением this.props.house.rent.Затем вы можете сделать это для каждого из реквизитов, которые вам нужны в состоянии.

Дополнительную информацию о ComponentDidMount можно найти в React Documentation

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