【发布时间】:2017-07-31 07:14:48
【问题描述】:
我的代码不起作用。我想从对象数组中渲染卡片。但是,使用 NativeBase 似乎很难。
CardsScreen.js:
import React, { Component } from 'react';
import { Image } from 'react-native';
import { Container, Header, Content, Card, CardItem, Thumbnail, Text, Button, Icon, Left, Body, Right } from 'native-base';
class CardsScreen extends Component {
props:Props;
DATA = [
{ id: 1, title: 'Lorem ipsum dolor sit amet, everti rationibus his cu', views:'200', comments:'9', published:'4h ago' image: require('../img/img1.jpeg') },
{ id: 2, title: 'Lorem ipsum dolor sit amet, everti rationibus his ', Views:'700', comments:'16', published:'9h ago' image: require ('../img/img2.jpg') },
{ id: 3, title: 'Lorem ipsum dolor sit amet, everti rationibus hi', Views:'698', comments:'8', published:'14h ago' image:require ('../img/img3.jpeg') },
];
render() {
let renderpostTypes = () => {
let post = [];
this.DATA.map( ( item )=> {
post.push(
<Content key={item.id}>
<Card>
<CardItem>
<Left>
<Thumbnail source={require(item.image)} />
<Body>
<Text>item.title</Text>
<Text note>GeekyAnts</Text>
</Body>
</Left>
</CardItem>
<CardItem cardBody>
<Image source={require(item.image)} style={{height: 200, width: null, flex: 1}}/>
</CardItem>
<CardItem>
<Left>
<Button transparent>
<Icon active name="thumbs-up" />
<Text>item.views</Text>
</Button>
</Left>
<Body>
<Button transparent>
<Icon active name="chatbubbles" />
<Text>item.comments</Text>
</Button>
</Body>
<Right>
<Text>item.published</Text>
</Right>
</CardItem>
</Card>
</Content>
);
} );
return post;
};
return (
<Container>
<Content >
{renderpostTypes()}
</Content>
</Container>);
}
}
export default CardsScreen;
如何使它工作并从该对象数组中渲染卡片?有没有解决这个问题的例子?
【问题讨论】:
-
控制台有什么错误吗?
-
目前仅在数组中出现语法错误,我无法找到,但我认为这段代码不正确。
-
我已经尝试过您的代码,但它在我的设备中运行良好 :)
标签: reactjs react-native react-native-android react-native-ios native-base