我是react-native的新手。我无法从API获取“当前”数据,并且收到“无法读取当前属性”错误,因此我只想获取我的API响应。这是我的api数据并且也请检查我的代码。
{
"message": "present in this month",
"data": [
{
"present": 10
}
],
"status": "1"
}
async componentDidMount() {
try {
const DEMO_TOKEN = await AsyncStorage.getItem('isLoggedIn');
if (DEMO_TOKEN != null) {
console.log('Token', DEMO_TOKEN);
fetch('http://104.197.28.169:3000/userPresentInThisMonth', {
method: 'GET',
headers: {
Authorization: 'Bearer ' + DEMO_TOKEN,
},
})
.then(response => response.json())
.then(responseJson => {
alert(responseJson)
console.log(responseJson);
this.setState({
presentmonthdata : responseJson,
});
});
}
} catch (error) {
alert(JSON.stringify(error));
console.error(error);
}
}
这是我的文本值。
{this.state.presentmonthdata.data[0] &&
<Text style={{color: 'grey',fontSize: 30, fontWeight: 'bold', }}>
{this.state.presentmonthdata.data[0].present}
</Text>
}
答案 0 :(得分:1)
尝试一下:
更改:
{this.state.presentmonthdata.data[0] &&
<Text style={{color: 'grey',fontSize: 30, fontWeight: 'bold', }}>
{this.state.presentmonthdata.data[0].present}
</Text>
到
<Text>
{this.state.presentmonthdata.data!= undefined ? this.state.presentmonthdata.data[0].present: null}
</Text>
希望这会有所帮助!
答案 1 :(得分:0)
解决方案是
{this.state.presentmonthdata.data[0]}
答案 2 :(得分:0)
请尝试以下操作:
{this.state.data.length > 0 ? this.state.data[0].present : 0;}
我猜数据可能是空数组或其他数据类型...