仿美团项目学习源码分析(1)
2017-06-02 16:44
141 查看
"只有不断向比自己优秀的人学习才能有所进步",这是我一直以来所相信的,无论是工作还是为人.作为程序员最直接的学习莫过于源码学习,最近在研究素敌的仿美团项目,觉得有意思的点会记录下来,新的起点从今天开始吧.
项目中封装了NavigationItem组件,其中
let icon = this.props.icon && <Image style={[styles.icon, this.props.iconStyle]} source={this.props.icon} />刚开始没看明白,额,有些不好意思的说,其实就是给了个约定只有在icon确实存在的情况下才进行设置.但是刚开始没朝这个方向想,以为是JS中自己不知道的写法.....
具体代码如下
项目中封装了NavigationItem组件,其中
let icon = this.props.icon && <Image style={[styles.icon, this.props.iconStyle]} source={this.props.icon} />刚开始没看明白,额,有些不好意思的说,其实就是给了个约定只有在icon确实存在的情况下才进行设置.但是刚开始没朝这个方向想,以为是JS中自己不知道的写法.....
具体代码如下
import React, { Component } from 'react'; import { View, Text, StyleSheet, TouchableOpacity, Image } from 'react-native'; // create a component class NavigationItem extends Component { render() { let icon = this.props.icon && <Image style={[styles.icon, this.props.iconStyle]} source={this.props.icon} /> let title = this.props.title && <Text style={[styles.title, this.props.titleStyle]}>{this.props.title}</Text> return ( <TouchableOpacity style={styles.container} onPress={this.props.onPress}> {icon} {title} </TouchableOpacity> ); } } // define your styles const styles = StyleSheet.create({ container: { flex:1, flexDirection: 'row', justifyContent: 'center', alignItems: 'center', }, icon: { width: 27, height: 27, margin: 8, }, title: { fontSize: 15, color: '#333333', margin: 8, } }); //make this component available to the app export default NavigationItem;
相关文章推荐
- 仿美团项目学习源码分析(3)--数组加key
- 仿美团项目学习源码分析(2)---JS之slice()方法
- 五毛的cocos2d-x学习笔记02-基本项目源码分析
- 【面向对象课程项目:纸牌】Java实例学习(一):优秀源码的分析
- 项目经理案头手册学习系列【13】——进度付款及挣值分析
- DEDE源码分析与学习--index.php文件解读
- 090822项目进展:学习emule源码1,
- 090823项目进展:学习emule源码2,文件管理类
- 二)网站项目-ProductDataProxy,Petshop 源码分析
- 从真正的项目中学习Silverlight(MSN Entertainment项目源码下载)
- 二)网站项目-WebUtility,Petshop 源码分析
- DEDE源码分析与学习之二: member文件结构说明
- IOServer开源项目介绍及源码分析
- DEDE源码分析与学习---index.php文件解读。
- Linux 学习数据专题【管理、编程、源码分析】——Linux相关图书选购指南
- DEDE源码分析与学习之三: member/archives_*.php文件解读
- 麻雀虽小,五脏俱全:分析CVS活动情况的小工具(有源码供学习)
- Linux 学习数据专题【管理、编程、源码分析】——Linux相关图书选购指南
- 090828项目进展:学习emule源码4,CAsyncSocketEx
- 房地产业务学习(06)-开发项目管理的难点分析&IT系统价值