【发布时间】:2019-06-26 16:32:50
【问题描述】:
我想从 API 获取 JSON 数据,但我不知道这些数据的大小。 数据就像历史“由名称和图片组成”。 变量名称和头像有错误。
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import MenuButton from '../components/MenuButton';
import User from '../components/User';
import API from '../Utils/API';
export default class SettingScreen extends React.Component {
constructor(props){
super(props);
this.state={
name: [],
avatar:[]
};
}
render() {
var userCard=[];
for(let i=0; i<3; i++){
userCard.push(
<View>
<User name={this.state.name[i]} avatar={this.state.avatar[i]}/>
</View>
)}
return (
<View style={styles.container}>
<MenuButton navigation={this.props.navigation}/>
{userCard}
</View>
);
}
async componentDidMount() {
// Load async data.
let userData = await API.get('/', {
params: {
results: 1,
inc: 'name,avatar'
}
});
// Parse the results for ease of use.
for(let i=0; i<userData.length; i++){
const Data = userData.data[i];
const names = Data.name;
const base64Icon=Data.image;
const base64Icons=base64Icon.slice(2,-1);
const avatar = 'data:image/jpg;base64,'+base64Icons;
this.setState(state=>{
const name=state.name.push(names);
return{
name,
avatar,
}
});
}
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
text: {
fontSize: 30,
}
});
当我尝试运行应用程序时,会出现警告: 警告:列表中的每个孩子都应该有一个唯一的“key”道具。
【问题讨论】:
标签: react-native axios state