无法访问React State子元素

时间:2019-03-31 13:51:01

标签: javascript reactjs

我要

  

未捕获的TypeError:无法读取未定义的属性'id'
  console.log(this.state.kirja.tyyppi.id);

我要访问tyyppi.id元素 https://i.imgur.com/KdUtMeJ.png

这是我的json https://imgur.com/a/mZsjuSp

class Child extends React.Component{

    state = {
        kirja: []
    }

    componentDidMount() {
        axios.get("http://example.com/api/kirja/"+this.props.match.params.id)
            .then(res => {
                const kirja = res.data;
                console.log(kirja)
                this.setState({ kirja });
            })
    }


    render() {
        const { classes } = this.props;
        console.log(this.state.kirja.tyyppi.id);
    return ()
    }
}


2 个答案:

答案 0 :(得分:1)

kirja的初始状态为空数组。

这就是为什么您无法访问this.state.kirja.tyyppi.id中的render()

 render() {

   if(this.state.kirja && this.state.kirja.tyyppi) {
      console.log(this.state.kirja.tyyppi.id);
    }
}

答案 1 :(得分:0)

在您的state.kirja.tyyppi中,您没有ID。

您没有在您的州保存基尔哈。