ReactNaive之CSS和Flex布局

2017-10-23  本文已影响134人  TitanCoder

ReactNaive之CSS和Flex布局

ReactNaive相关文章

1. React Native 中文网

2. GitHub相关代码地址

3. ReactNaive之CSS和Flex布局

4. ReactNative之基本组件

5. React Naive之ScrollView和ListView

6. React Native之导航组件NavigatorIOS和Navigator

7. ReactNative之TabBariOS和TabNavigator


注: 本文主要总结的是ReactNative的一些简单语法, 大部分内容总结自袁大神的文章

一. {}和()的使用

1. {}的使用

1-1. ReactNative中,使用表达式的时候需要用{}包住

style={styles.mainStyle}

1-2. ReactNative中,在字符串中使用变量的时候,需要用{}包住

var str = 'hello'
<Text>{str}</Text>

1-3. ReactNative中,对象,字典需要用{}包住

<View style={{flex:1}}></View>

2. ()的使用

render(){
    return (
        <View style={styles.mainStyle}>

        </View>
    )
}

二. ReactNative之CSS布局

1. 视图边框

borderBottomWidth number 底部边框宽度
borderLeftWidth number 左边框宽度
borderRightWidth number 右边框宽度
borderTopWidth number 顶部边框宽度
borderWidth number 边框宽度
border<Bottom|Left|Right|Top>Color 各方向边框的颜色,<>表示连着一起,例如borderBottomColor
borderColor 边框颜色

2. 尺寸

2-1. 设置宽高

width number
height number

2-2. 外边距

margin number 外边距
marginBottom number 下外边距
marginHorizontal number 左右外边距
marginLeft number 左外边距
marginRight number 右外边距
marginTop number 上外边距
marginVertical number 上下外边距

//注意marginRight和width冲突,如果设置了width,marginRight无效。

2-3. 内边距

padding number 内边距
paddingBottom number 下内边距
paddingHorizontal number 左右内边距
paddingLeft number 做内边距
paddingRight number 右内边距
paddingTop number 上内边距
paddingVertical number 上下内边距

2-4. 相对定位和绝对定位

2-4-1. 边缘

left   number  左边缘。
right  number  右边缘。
top    number  顶部边缘。
bottom number  底部边缘。

2-4-2. 定位(position):

absolute:绝对定位,参照父控件位置定位
relative:相对定位,参照当前控件原始位置定位

ReactNative之Flex布局

1. Flex简介

2. Flex主轴和侧轴

3. flexDirection属性

row(默认值):主轴为水平方向,从左向右。依次排列
row-reverse:主轴为水平方向,从右向左依次排列
column:主轴为垂直方向,默认的排列方式,从上向下排列
column-reverse:主轴为垂直方向,从下向上排列

4. flexWrap属性

nowrap 组件只排列在一行上,可能导致溢出。
wrap   组件在一行排列不下时,就进行多行排列

5. justifyContent

flex-start: //子组件向主轴起点对齐,如果主轴水平,从左开始,主轴垂直,从上开始。
flex-end:  //子组件向主轴终点对齐,如果主轴水平,从右开始,主轴垂直,从下开始。
center: //居中显示,注意:并不是让某一个子组件居中,而是整体有居中效果
space-between: //均匀分配,相邻元素间距离相同。每行第一个组件与行首对齐,每行最后一个组件与行尾对齐。
space-around: //均匀分配,相邻元素间距离相同。每行第一个组件到行首的距离和每行最后一个组件到行尾的距离将会是相邻元素之间距离的一半

6. alignItems

flex-start 子组件向侧轴起点对齐。
flex-end 子组件向侧轴终点对齐。
center 子组件在侧轴居中。
stretch 子组件在侧轴方向被拉伸到与容器相同的高度或宽度。

7. alignSelf

auto 继承它的父容器的alignItems属性。如果没有父容器则为 "stretch"
flex-start 子组件向侧轴起点对齐。
flex-end 子组件向侧轴终点对齐。
center 子组件在侧轴居中。
stretch 子组件在侧轴方向被拉伸到与容器相同的高度或宽度。

8. flex

三. ReactNative之组件属性(Props、State)

1. Props(属性)

<Room name="小码哥" />

注意:props是在父组件中指定,而且一经指定,在整个组件的生命周期中都不再改变。

2. State

this.state = {
    num:1,
};
this.setState({
    num : number
})
上一篇下一篇

猜你喜欢

热点阅读