Я использую встроенную CRNA для своих приложений, и у меня возникают проблемы с загрузкой массива данных из API.
Это мой код:
constructor(props){
super(props);
this.state ={
branches: [],
loading: false,
}
}
componentDidMount() {
fetch('APIurl', {
method: 'GET',
})
.then((response) => response.json())
.then((responseJson) => {
this.setState({
branches: responseJson.data,
loading: true,
})
console.log(responseJson);
return responseJson;
})
.catch(error=>{
console.log(error);
});
}
}
render(){
return(
<Text style={{margin: 2, alignItems: 'stretch',
flex:1, fontWeight: 'bold'}}>
{this.state.branches.name}</Text>
<Text style={{margin: 2, justifyContent: 'space-
around', alignItems: 'stretch', flex:2,}}>
{this.state.branches.address}</Text>
<Picker
selectedValue={this.state.branches.name}
mode="dropdown"
style={{ height: 50, justifyContent: 'space-
around', flex:4, alignItems: 'stretch', }}
onValueChange={(itemValue, itemIndex)=>
this.setState({branches: key})}>
{this.state.branches.map((branches, key)=> (
<Picker.Item label={branches.name} value={branches.name} key=
{branches.branch_id}/>)
)}
</Picker>
<View style={{flex: 5, flexDirection:'column', alignItems: 'stretch',justifyContent: 'space-around'}}>
<Button
title="GO"
titleStyle={{ fontWeight: "700" }}
buttonStyle={{
backgroundColor: "#5eac1a",
width: 250,
height: 45,
borderColor: "transparent",
borderWidth: 0,
borderRadius: 25
}}
/>);
}
}
Код не показывает никаких ошибок, когда я пытался его запустить.Но он ничего не показывает, как будто он не мог получить данные из API.Кто-нибудь может мне помочь, пожалуйста!Огромное спасибо ..
РЕДАКТИРОВАТЬ: он не показывает никакой ошибки, но вместо этого предупреждение.
Каждый дочерний элемент в массиве или итератор должен иметь уникальный ключ "ключ".