Не пойму, почему не читается стейт
Когда я вывожу в консоль при Инициализации стейта, то все прекрасно и все выводится
но в рендере консоль уже дальше "form" ничего не видит
import React, { Component, Fragment } from "react";
import Form from "./components/Form.js";
class App extends Component {
constructor() {
super();
this.state = {
components: {},
form: {},
data: {}
};
}
async componentDidMount() {
let response = await fetch(
"https://gist.githubusercontent.com/alexandrov-va/7f353ca822d074d7ce22d3af3d13696f/raw/0907091de6fedf6153cdb718f32a4215dc2c53cf/page.json"
);
let data = await response.json();
this.setState({
components: data.components,
form: data.form,
data
});
console.log(data.form.submit_button.text);
}
render() {
console.log(this.state.data.form.submit_button.text)
return (
<Fragment>
<Form />
</Fragment>
);
}
}
export default App;
просто если я в рендере ввиду в консоль console.log(this.state.data) то он в консоли спокойно даст объект и без всяких ошибок , но если я ввожу console.log(this.state.data.form.submit_button.text) то выводится ошибка TypeError: Cannot read property 'submit_button' of undefined