【发布时间】:2019-03-21 01:32:00
【问题描述】:
屏幕上没有呈现任何内容。不知道为什么会发生,任何地方都没有错误。想知道为什么屏幕上什么都没有显示。正确从 API 获取数据。代码如下:
import React, { Component } from 'react';
import { StyleSheet, ScrollView, TouchableOpacity, Text, View } from 'react-native';
import { Container, Content, Grid, Row, Col } from 'native-base';
import axios from 'axios';
import ItemCard from '../components/ItemCard';
export default class ItemHorizontalScreen extends Component {
constructor(props) {
super(props)
this.state = {
items: []
}
}
componentWillMount() {
axios.get('http://rallycoding.herokuapp.com/api/music_albums').then(response =>
this.setState({
items: response.data
}))
.catch((error) => {
console.error(error);
})
}
renderHorizontalContents() {
const rowItems = this.state.items
rowItems.map((rowItem, index) => {
return (
<TouchableOpacity key={index}>
<Text>{rowItem.title}</Text>
</TouchableOpacity>
)
})
}
render() {
return (
<View>
{this.renderHorizontalContents()}
</View>
)
}
}
【问题讨论】:
-
你必须从你的
renderHorizontalContents函数中返回一些东西。使用return rowItems.map((rowItem, index) => {...} -
好收获.. 现在工作.. 非常感谢 :) @nrgwsth
标签: javascript reactjs react-native axios