constructor(){
super()
this.state = {
make :[]
}
}
componentWillMount(){
fetch('http://link.com', {
method: 'GET',
}).then((response) => response.json())
.then((responseJson) => {
if(responseJson.message === "List of Years"){
var length = responseJson.result.length.toString();
let newarray=[];
for(var i = 0 ; i < length ; i++){
// newarray.push(responseJson.result[i].Makes.year_name.toString());
this.setState({
make: [...this.state.make, responseJson.result[i].Makes.year_name]
});
}
//this.setState({make : newarray})
}
}
).catch((error) => {
console.error(error);
});
}
<Picker
mode="dropdown"
selectedValue={this.state.selected}
onValueChange={(value) => this.setState({selected: value})}>
{this.state.make.map((item, index) => {
return (<Item label={item} value={index}/>)
})}
</Picker>
我在构造函数中创建了一个名为make的状态,然后在componentWillMount()函数中从服务器获取了数据,然后将状态设置为make数组。但是我的代码似乎有问题,它引发错误:
TypeError:undefined is not an object(evaluating 'child.props.value')
我也尝试过,但问题仍然存在。我在这里做错了什么?