Javascript ReactJS无法映射数组
我是错误的咆哮 未捕获(承诺中)TypeError:无法读取的属性“映射” 未定义 尝试执行下面的map函数时,其中模拟API的链接为:Javascript ReactJS无法映射数组,javascript,reactjs,Javascript,Reactjs,我是错误的咆哮 未捕获(承诺中)TypeError:无法读取的属性“映射” 未定义 尝试执行下面的map函数时,其中模拟API的链接为: 状态={ 名称:'Teste II', produto:null, alternativas:null, 心房肌:空, 正在加载_produto:true, 加载_alternativas:true, 正在加载心房肌:正确, showPopup:false, }; 建造师(道具){ 超级(道具); } 异步组件didmount(){ 常量url=”http:/
状态={
名称:'Teste II',
produto:null,
alternativas:null,
心房肌:空,
正在加载_produto:true,
加载_alternativas:true,
正在加载心房肌:正确,
showPopup:false,
};
建造师(道具){
超级(道具);
}
异步组件didmount(){
常量url=”http://www.mocky.io/v2/5db88c413b00004f0b35f1f1";
const response=等待获取(url);
const data=wait response.json();
this.setState({produto:data.suggestions[0],正在加载_produto:false})
this.setState({alternativas:data.choices,loading_alternativas:false})
this.setState({atributos:data.suggestions[0]。属性,正在加载_atributos:false})
log(this.state.produto.product\u data.title);
}
render(){
const lista_alternativas=this.state.alternativas;
const lista_atributos=this.state.atributos;
如果(!this.state.loading_atributos){
this.atributos=lista_atributos.map((描述,键)=>{
console.log('chegou-aqui');
return{description.description}
});
}
返回(
怎么了?尝试将atributos的初始状态设置为空数组,而不是空数组:
state = {
name: 'Teste II',
produto: null,
alternativas: null,
atributos: [],
loading_produto: true,
loading_alternativas: true,
loading_atributos: true,
showPopup: false,
};
尝试将atributos的初始状态设置为空数组而不是空数组:
state = {
name: 'Teste II',
produto: null,
alternativas: null,
atributos: [],
loading_produto: true,
loading_alternativas: true,
loading_atributos: true,
showPopup: false,
};
检查该URL的响应,您正在将状态值“atributos”设置为data.suggestions[0]。attributes(不存在) 您可能希望将其更改为data.suggestions[0]。product_data.attributes 更具体地说,将componentDidMount函数更改为:
async componentDidMount(){
const url = "http://www.mocky.io/v2/5db88c413b00004f0b35f1f1";
const response = await fetch(url);
const data = await response.json();
this.setState({produto: data.suggestions[0], loading_produto: false})
this.setState({alternativas: data.choices, loading_alternativas: false})
this.setState({atributos: data.suggestions[0].product_data.attributes, loading_atributos: false})
console.log(this.state.produto.product_data.title);
}
检查该URL的响应,您正在将状态值“atributos”设置为data.suggestions[0]。attributes(不存在) 您可能希望将其更改为data.suggestions[0]。product_data.attributes 更具体地说,将componentDidMount函数更改为:
async componentDidMount(){
const url = "http://www.mocky.io/v2/5db88c413b00004f0b35f1f1";
const response = await fetch(url);
const data = await response.json();
this.setState({produto: data.suggestions[0], loading_produto: false})
this.setState({alternativas: data.choices, loading_alternativas: false})
this.setState({atributos: data.suggestions[0].product_data.attributes, loading_atributos: false})
console.log(this.state.produto.product_data.title);
}