Присвоить одинаковые значения двум различным состояниям, но при их обновлении они должны быть привязаны к своим собственным значениям - PullRequest
0 голосов
/ 24 февраля 2020

Итак, я столкнулся с этой ошибкой, когда при редактировании «this.state.values2» «this.state.values1» также обновляется. Сначала я хочу, чтобы они имели одинаковые значения, но при редактировании они имеют независимые значения.

Вот что у меня есть:

    this.state = {
          values1: {},
          values2: {},
        }

    componentWillMount() {
        this.setState({ values: this.props.values })
        this.setState({ splitValues: this.props.values })
      }
    //for form 1
    onChangeValue1 = (key: any, value: any) => {
        const values = this.state.values
        values[key] = value
        this.setState({ values }, () => {})
        this.props.onChange(key, value)
      }
    // for form 2
      onChangeValue2 = (key: any, value: any) => {
        const splitValues = this.state.splitValues
        splitValues[key] = value
        console.log('splitValues',splitValues)
        this.setState({ splitValues }, () => {})
      }

Но я сталкиваюсь с тем, когда я обновляю форму 2, Форма 1 также обновляется с тем же значением. Я не понимаю, потому что у них обоих разные состояния, а также разные функции onChange.

...