Как установить значение состояния на основе другого значения состояния с помощью функции в реакции? - PullRequest
0 голосов
/ 14 июля 2020

Я хочу установить значение состояния на основе другого значения состояния. Есть подобные вопросы. Но ни один из них не удовлетворяет мою потребность.

Итак, вот мой код

import React, { Component } from 'react';

class Form extends Component {
    state = {}

    constructor(props) {
        super(props);
        this.state = {
            a: "somevalue",
            b: this.someFunc()
        };
      }

      someFunc(){
        if(this.props.value=="something"){
          return "value1"
        }else{
          return "value2 "+this.state.a;
        }
      }

    render() { 
        return (<h1>{this.state.b}</h1>
        );
    }
}
 
export default Form;

Итак, здесь результат value2 undefined . Я хочу, чтобы это было value2 somevalue . Как я могу этого добиться?

1 Ответ

0 голосов
/ 14 июля 2020

Вы должны использовать метод жизненного цикла для обновления свойства состояния b.

    componentDidMount() {
        this.setState({
          b: someFunc()
        })
    }
...