Получение неопределенного при использовании this.state.в рендере на jsx (шутка / энзим) - PullRequest
0 голосов
/ 22 апреля 2019

В настоящее время я определяю компонент и создаю несколько значений состояния со значениями по умолчанию.Один из них, в частности, является объектом, этот, в частности, «перегенерируется» в componentDidMount.Код работает как шарм, проблема возникает, когда я пишу свой тест для этого.Проблема, с которой я сталкиваюсь, заключается в том, что «this» не определено в render ().

//component
class HealthGrades extends Component {
  constructor(props) {
    super(props);
    this.onBtnCk = this.onBtnCk.bind(this);
    this.state = {
      tabKey: ‘record’,
      tabData: [],
      tblCol,
      patId:null    
    };
  }

  componentDidMount() {
    this.props.fetchHealthTabsData(this.props)
      .then(() => {

        this.setState({
          tabData: getTabData(this.props.drInfo, this.state.tabKey),
          tblCol: modelUtils.fetchNewObj(tblCol, 
          this.props.patientData.data.patientType),
        });
      });
  }

  render() {
    return (

        <DataGrid
          cols={this.state.tblCol[this.state.tabKey]} //complains that 'this' is undefined (first one)
          rows={this.state.tabData}
          isActive={this.props.isActive}

        />


)}

Попытка понять, почему каждый раз, когда я выполняю рендеринг в моем тесте, this.state.tblCol не определен:

  const wrapper = shallow(<HealthGrades {...props} />);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...