ReactNative一些组件和属性

欢迎访问我的博客https://qqqww.com/,祝码农同胞们早日走上人生巅峰,迎娶白富美~~~

更好的体验请访问https://blog.csdn.net/weixin_43307658/article/details/86650778

该文档要配合项目文档地址ReactNative豆瓣电影看会更好

这里只写我在进行ReactNative豆瓣电影项目的时候去ReactNative官网研究过的组件

Platform: 用来提供平台检测功能的
StyleSheet: 样式相关的组件,专门用来创建样式的
Text: 文本节点,所有文本必须放到这个里面
View: 用来布局的,相当于 div
TextInput: 文本框组件
Image: 图片组件
Button: 按钮组件
ActivityIndicator: 加载中的 loading 效果小圆圈
ScrollView: 滚动组件(默认,如果一个RN的页面非常长,超出了屏幕高度,这时候,不会像网页中那样自动提 供滚动条,如果需要让页面实现滚动的话,需要使用 ScrollView 把页面包裹起来)

基本都是导入组件,然后在首页中用render()渲染就可以了,真是超级无敌爆炸爽

// 导入 React 基础包,这个包,作用是创建 组件
import React, { Component } from 'react'
// 从 react-native 中导入系统开发需要的包
import {Platform, StyleSheet, Text, View ...} from 'react-native'

1 Platform

用来提供平台检测功能

const instructions = Platform.select({
  ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
  android:
    'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu button for dev menu',
});

2 StyleSheet

使用 StyleSheet.create 创建样式表对象,可以为 create 传递一个配置对象,这个对象就是要创建的样式

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center', // 一些文本类型的样式值,需要引号包裹起来
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});

载入样式(和对象的操作一样,例如style.welcome)

export default class App extends Component<Props> {
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>Welcome to React Native!</Text>
        ...
      </View>
    );
  }
}

3 Text

文本节点,所有文本必须放到这个里面,在项目文档地址上面首页中有讲到

4 View

用来布局的,相当于页面元素div,在项目文档地址上面首页中有讲到

5 TextInput

文本框组件

这里刚开始输入框会特别窄,所以需要修改样式

styles对象中添加一个一个键值对inputStyle: { width: '100%' }

TextInput有很多属性选项,这里使用的几个练手,具体参考ReactNative官方文档

5.1 allowFontScaling

控制字体是否要根据系统的“字体大小”辅助选项来进行缩放。默认值为true

类型 必填
bool No

5.2 autoCapitalize

控制TextInput是否要自动将特定字符切换为大写,This property is not supported by some keyboard types such as name-phone-pad.

  • characters: 所有的字符。
  • words: 每个单词的第一个字符。
  • sentences: 每句话的第一个字符(默认)。
  • none: 不切换。
类型 必填
enum('none', 'sentences', 'words', 'characters') No

5.3 autoFocus

如果为true,在componentDidMount后会获得焦点。默认值为false。

类型 必填
bool No

5.4 defaultValue

提供一个文本框中的初始值。当用户开始输入的时候,值就可以改变。在一些简单的使用情形下,如果你不想用监听消息然后更新value属性的方法来保持属性和状态同步的时候,就可以用defaultValue来代替。

类型 必填
string No

5.5 keyboardType

决定弹出的何种软键盘的,譬如numeric(纯数字键盘)。

这些值在所有平台都可用:

  • default
  • number-pad
  • decimal-pad
  • numeric
  • email-address
  • phone-pad

下面的值仅iOS可用:

  • ascii-capable
  • numbers-and-punctuation
  • url
  • name-phone-pad
  • twitter
  • web-search

下面的值仅Android可用:

  • visible-password
类型 必填
enum('default', 'email-address', 'numeric', 'phone-pad', 'ascii-capable', 'numbers-and-punctuation', 'url', 'number-pad', 'name-phone-pad', 'decimal-pad', 'twitter', 'web-search', 'visible-password') No

5.6 maxLength

限制文本框中最多的字符数。使用这个属性而不用JS逻辑去实现,可以避免闪烁的现象。

类型 必填
number No

5.7 multiline

如果为true,文本框中可以输入多行文字。默认值为false。注意安卓上如果设置multiline = {true},文本默认会垂直居中,可设置textAlignVertical: 'top'样式来使其居顶显示。

类型 必填
bool No

5.8 onChange

当文本框内容变化时调用此回调函数。回调参数为{ nativeEvent: { eventCount, target, text} }

类型 必填
function No

5.9 onChangeText

当文本框内容变化时调用此回调函数。改变后的文字内容会作为参数传递。

类型 必填
function No

5.10 placeholder

如果没有任何文字输入,会显示此字符串。

类型 必填
string No

5.11 placeholderTextColor

占位字符串显示的文字颜色。

类型 必填
color No

5.12 secureTextEntry

如果为true,文本框会遮住之前输入的文字,这样类似密码之类的敏感文字可以更加安全。默认值为false。multiline={true}时不可用。

类型 必填
bool No

6 Image

图片组件

Image的属性选项,这里使用的几个练手,具体参考ReactNative官方文档

6.1 style

这里可以自定义样式,或者使用枚举

类型 必填
style

6.2 source

图片源数据(远程 URL 地址或本地数据)。

目前原生支持的图片格式有pngjpgjpegbmpgifwebp (仅 Android)、psd (仅 iOS)。

类型 必填
ImageSourcePropType

7 Button

按钮组件

Button的属性选项,这里使用的几个练手,具体参考ReactNative官方文档

7.1 onPress

用户点击此按钮时所调用的处理函数, 必须的

类型 必填
function

7.2 title

按钮内显示的文本,必须的

类型 必填
string

7.3 accessibilityLabel

用于给残障人士显示的文本(比如读屏应用可能会读取这一内容)

类型 必填
string

7.4 color

文本的颜色(iOS),或是按钮的背景色(Android)

类型 必填
color

7.5 disabled

设置为 true 时此按钮将不可点击。

类型 必填
bool

7.6 testID

用来在端到端测试中定位此视图。

类型 必填
string

8 ActivityIndicator

加载中的 loading 效果小圆圈

ActivityIndicator的属性选项,这里使用的几个练手,具体参考ReactNative官方文档

8.1 animating

是否要显示指示器动画,默认为 true 表示显示,false 则隐藏。

类型 必填
bool

8.2 color

滚轮的前景颜色(默认为灰色)。

类型 必填
color

8.3 size

指示器的大小,默认为'small'。目前只能在 Android 上设定具体的数值。

类型 必填
enum('small', 'large'), number

9 ScrollView

滚动组件(默认,如果一个RN的页面非常长,超出了屏幕高度,这时候,不会像网页中那样自动提 供滚动条,如果需要让页面实现滚动的话,需要使用 ScrollView 把页面包裹起来)

ScrollView的属性选项,这里使用的几个练手,具体参考ReactNative官方文档

9.1 horizontal

当此属性为true的时候,所有的子视图会在水平方向上排成一行,而不是默认的在垂直方向上排成一列。默认值为false。

类型 必填
bool

滚轮的前景颜色(默认为灰色)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容