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 в construtor, а затем в функции componentWillMount () я получил данные с сервера, а затем установил состояние для создания массива. Но похоже, что есть проблема с моим кодом. Выдает ошибку:
TypeError:undefined is not an object(evaluating 'child.props.value')
Я тоже пытался, но проблема остается. Что я здесь не так делаю?