git
关于git的具体使用,可以查看我的另外一篇比较详细的git实用记录
jsx
jsx它不是一种新的开发语言,它是一种语法方案: 一种能在javascript中直接书写html标签的语法糖,所以它本质上还是js,是js的一种优雅语法糖 当然并不是必须要学习jsx你才可以开始React Native,jsx是为构造React元素方法React.createElement(component, props, ...children)设计的语法糖。 比方说JSX代码:
<Elem color="red" info="hello">Hello!<Elem/>
用标准的React语法写出来应该是:
React.creatElement({
Elem,
{
color:red,
info:"hello"
},
"Hello!"
});
但是以我的使用经验,jsx在定义html这种树形结构时,简单明了,极大地提高了我们的开发与维护效率。就是一个可以事半功倍的东西,花点时间学学,何乐不为呢。而强大的babel就为我们做了这个jsx的语法糖解析工作,如果想要看jsx与js的语法转换,可以看这边
关于jsx的具体用法,看这里
具体的使用方法我这边就说了,其实很简单,对前端来说也是很快上手,就说几个在使用过程中要注意的点:
- 用户自定义的组件首字母必须大写,一个组件只能有一个顶层对象,不管在react还是react native中毅然
- 如果是在react项目中, 自定义标签必须在react的作用范围内
- 可以使用符号【.】来调用子组件
- 组件的开始标签和闭合标签之间的内容是一个特殊的props——props.children,组件嵌套中的所有内容也都是props.children
flexbox
各位前端开发,应该都知道布局对网页开发的重要性,而如雷贯耳的盒子模型,让我们来回顾一下:
react native 实现的flexbox布是会跟web布局有所细微的不同,比如flex-direction 的默认值是column不是row,align-ITEM的默认值是stretch而非flex-start,还有flex只能指定一个数字值。但是没有关系,这些不是很大的学习障碍
让我们来了解下flexbox的属性值: 父元素的属性: 父元素不用设置display:flex,第一步就跟web不同了哈,因为默认都是display:flex flexDirection: column(默认值)、 row、 row-reverse flexWrap 当子组件内容溢出父组件的时候,是否需要换行 取值: