🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
新建一个 PropertyView.js 文件到项目中,编辑如下内容: ~~~ 'use strict'; var React = require('react-native'); var { StyleSheet, Image, View, Text, Component } = React; ~~~ 确保进行到这一步的时候,你还没有睡着!:] 继续添加如下样式: ~~~ var styles = StyleSheet.create({ container: { marginTop: 65 }, heading: { backgroundColor: '#F8F8F8', }, separator: { height: 1, backgroundColor: '#DDDDDD' }, image: { width: 400, height: 300 }, price: { fontSize: 25, fontWeight: 'bold', margin: 5, color: '#48BBEC' }, title: { fontSize: 20, margin: 5, color: '#656565' }, description: { fontSize: 18, margin: 5, color: '#656565' } }); ~~~ 然后将组件加入视图: ~~~ class PropertyView extends Component { render() { var property = this.props.property; var stats = property.bedroom_number + ' bed ' + property.property_type; if (property.bathroom_number) { stats += ', ' + property.bathroom_number + ' ' + (property.bathroom_number > 1 ? 'bathrooms' : 'bathroom'); } var price = property.price_formatted.split(' ')[0]; return ( <View style={styles.container}> <Image style={styles.image} source={{uri: property.img_url}} /> <View style={styles.heading}> <Text style={styles.price}>£{price}</Text> <Text style={styles.title}>{property.title}</Text> <View style={styles.separator}/> </View> <Text style={styles.description}>{stats}</Text> <Text style={styles.description}>{property.summary}</Text> </View> ); } } ~~~ render() 方法的第一步,是封装数据。因为从API获得的数据经常不太规范而且某些字段不全。代码采用简单手段让数据变得更便于展示一些。 剩下来的事情就非常简单了,填充组件的状态到UI上。 在文件最后加入export语句: ~~~ module.exports = PropertyView; ~~~ 回到SearchResults.js 在文件头部加入 require 语句: ~~~ var PropertyView = require('./PropertyView'); ~~~ 修改 rowPressed() 方法,调用 PropertyView类: ~~~ rowPressed(propertyGuid) { var property = this.props.listings.filter(prop => prop.guid === propertyGuid)[0]; this.props.navigator.push({ title: "Property", component: PropertyView, passProps: {property: property} }); } ~~~ 老规矩:返回模拟器,按下 Cmd+R, 点击搜索结果列表中的某行: ![](https://box.kancloud.cn/2015-10-27_562f20d554c33.png) 能住得起的房子才是最好的房子——在Pad上看到的这个房子确实很有吸引力! 你的App快接近完成了,最后一步是让用户能够查找距离他们最近的房子。