首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

React Native入门(三)组件Props(属性)和State(状态)

前言 在Android或者iOS开发中我们会用到很多控件,这些控件会有很多属性、样式等等。同样,React Native中组件也有属性、样式和状态。...TextonPress属性 接着拿我们熟悉Text来做举例,如下所示。 ?...注释1处onPress就是Text属性,除了onPress,Text还有很多其他属性,比如numberOfLines、onLayout和style等等。...{}放入了onTextPress函数,它是一个箭头函数,作用就是return一个Alert,它等价于如下代码: ? 好了我们运行程序,当我们点击Text组件时会弹出Alert,如下图所示。 ?...在注释2处用到了view组件,它是一个基础组件支持Flexbox布局、样式和一些触摸处理等,可以放到其他视图里可以包含子视图。

1.5K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【React Native 安卓开发】----侧边栏实现DrawerLayoutAndroid以及第三方框架react-native-side-menu使用【第六篇】

    那么今天在这里给大家介绍一下React-Native中侧滑菜单DrawerLayoutAndroid和第三方框架react-native-side-menu。...drawerWidth number 指定抽屉宽度,也就是从屏幕边缘拖进视图宽度。...on-drag 当拖拽开始时候隐藏软键盘。 onDrawerClose function 每当导航视图(抽屉)被关闭之后调用此回调函数。...onDrawerOpen function 每当导航视图(抽屉)被打开之后调用此回调函数。 onDrawerSlide function 每当导航视图(抽屉)产生交互时候调用此回调函数。...onDrawerStateChanged function 每当抽屉状态变化时调用此回调函数。抽屉可以有3种状态: idle(空闲),表示现在导航条上没有任何正在进行交互。

    6.7K40

    如何自动化测试 React Native 项目 (下篇) - 单元测试

    不仅适用于 React Native 测试, 可以适用于 React.js, Vuejs 等其他 js lib 或者 framework。...Jest snapshot 测试不仅可以对比React tree结构区别, 可以对比其他可序列化区别。 比如对比Redux某个状态state是否和之前相同。...在最近 enzyme 版本更新后, shallowWrapper component lifecycle 函数会被正确调用。因此对组件状态测试是比较容易。...因此需要另一个针对 PrimaryButton 组件单元测试来保证 onPress 这个prop被正确处理了。...这样纯函数函数式变成优势就体现出来了,不仅code结构和层级变清晰,编写和维护单元测试变得简单了。

    3.3K21

    MobX 在 React Native开发中应用

    加入我们要实现这样一个功能:创建一个新列表,向列表中加入新条目并刷新,这就用到了MobX状态管理。 ? 环境配置 首先,我们为MobX配置相关环境支持。...,那么View层会跟着自动变化,默认此View层已经使用@observer标签监控) mobx实例1 下面实现一个使用mobx实现一个简单数据复制更新功能。...简单地给类属性增加一个 @observable 装饰器(下一代 ECMAScript),或者调用 observable 或 extendObservable 函数(ES5); 创建一个叫做 ObservableListStore...this.props.navigator.push,传入条目和数组存储两个参数; 在 render 方法中,通过属性解构数据存储: const { list } = this.props.store 8.在 render 方法中,创建了界面...fontSize: 20, paddingLeft: 20 } }) export default NewItem 如果你之前使用过MobX,那么相信在React Native使用同样简单

    11.8K70

    MobX 在 React Native开发中应用

    加入我们要实现这样一个功能:创建一个新列表,向列表中加入新条目并刷新,这就用到了MobX状态管理。 ? 环境配置 首先,我们为MobX配置相关环境支持。...,那么View层会跟着自动变化,默认此View层已经使用@observer标签监控) mobx实例1 下面实现一个使用mobx实现一个简单数据复制更新功能。...简单地给类属性增加一个 @observable 装饰器(下一代 ECMAScript),或者调用 observable 或 extendObservable 函数(ES5); 创建一个叫做 ObservableListStore...this.props.navigator.push,传入条目和数组存储两个参数; 在 render 方法中,通过属性解构数据存储: const { list } = this.props.store 8.在 render 方法中,创建了界面...fontSize: 20, paddingLeft: 20 } }) export default NewItem 如果你之前使用过MobX,那么相信在React Native使用同样简单

    12.4K80

    React Native 未来与React Hooks

    笔者一直致力于 Android 、React-Native、Flutter 等大前端开发,有时会写写 React 和 Vue,本篇文章也是希望能够和大家交流,可以的话欢迎提出问题或者建议,最后同样希望文章能对你有所启发...同样在携程项目中: 《携程开源RN开发框架CRN》 文章表示在第一时间更新到了 0.59.x 版本,现在还会觉得 React-Native “要凉” 了嘛?...跨平台解决是逻辑统一维护,而开发中过程中,很多时候会遇到兼容开发问题,并且平台之间适配同样消耗时间。...同时降低代码在生命周期执行过程中造成阻塞。 自定义 Hooks 可以在一定程度上解耦,增加复用,减少嵌套。 函数式编程风格让函数功能独立,代码简洁更好阅读。...(///▽///) 跨平台完整项目与文章: Flutter 开源项目与文章 React Native 开源项目与文章 Weex 开源项目与文章 完整文章目录在项目首页 ReadMe 其他文章 《移动端跨平台开发深度解析

    3.8K30

    深入详解 Jetpack Compose | 实现原理

    同样,挂起 (suspend) 函数需要调用上下文作为参数,这意味着您只能在其他挂起函数中调用挂起函数: fun Example(a: () -> Unit, b: suspend () -> Unit...在了解此数据结构时,很重要一点是除了移动间隙,它所有其他操作包括获取 (get)、移动 (move) 、插入 (insert) 、删除 (delete) 都是常数时间操作。...我们可以将该计算包装至对 remember 函数调用中——remember 函数知道如何利用插槽列表。remember 函数会查看列表中字符串,同时会存储列表并在插槽表中对其进行查询。...接下来这段代码可以在 number 没有发生改变时直接跳过整个函数体,而我们可以指导 Composer 将当前索引移动至函数已经执行到位置。...有时候理解如何实现十分有用,但是未来 Composable 函数行为与功能不会改变,而实现则有可能发生变化。 同样,Compose 编译器在某些状况下可以生成更为高效代码。

    1.9K30

    移动跨平台框架ReactNative 组件属性 props【08】

    它不会生成原生 UI 组件,而是基于 React,React Native 是一个用于构建基于 Web 交互界面的 JavaScript 库,因此会有更丰富 UI 体验效果,同时能够很好地调用底层框架...对于没有状态组件,我们称之为 表现组件。 因此我们可以将组件分为两大类: 容器组件 容器组件是普通组件,使用 ES6 类 来实现,既包括组件属性,包含 组件状态。...最重要是 容器组件有自己状态和行为处理函数。 纯表现组件 纯表现组件只用于展现数据,数据来源可以是写死固定不变可以是通过属性传递给组件。...纯表现组件没有自己内部状态,所有数据都因为外部而变。 容器组件 容器组件是最普通组件,使用 ES6 类 来实现,既包括组件属性,包含组件状态。...使用原则 如果一个组件需要更新自己状态,那么该组件就是容器组件。 容器组件有着自己状态 state,可以通过属性 props 接收外部数据来更新自己状态。

    94230

    React Native学习笔记(三)—— 样式、布局与核心组件

    我们想要一种长度单位,在同样物理尺寸大小屏幕上(不论分辨率谁高谁低,只要物理尺寸大小一样即可),1个单位长度所代表物理尺寸是一样。...只需要知道我们之所以要使用一个独立于设备分辨率单位,主要是为了让应用在不同分辨率设备中,看起来一致。 在RN中,同样拥有一个类似于dp长度单位。...由于 React Native 组件就是对原生视图封装,因此使用 React Native 编写应用外观、感觉和性能与其他任何原生应用一样。我们将这些平台支持组件称为原生组件。...点击这个按钮会调用"onPress"函数,具体作用就是显示一个 alert 弹出框。你还可以指定"color"属性来修改按钮颜色。...当开关值为false或开关被禁用时(开关是半透明),可以看到这个背景颜色。 onValueChange 当值改变时候调用此回调函数,参数为新值。

    14.1K31

    React Native导航器之react-navigation使用

    Navigation 使用 在你使用navigation每一个界面navigation都提供相关属性和响应方法,常见有: navigate 定义跳转到另一个页面 调用此方法去链接你其他界面...传递一些其他action,主要支持action有 Navigate使用 例如: import { NavigationActions } from 'react-navigation' const...·cardStyle- 使用该属性继承或者重载一个在stack中card样式。 ·onTransitionStart- 一个函数,在换场动画开始时候被激活。...·onTransitionEnd- 一个函数,在换场动画结束时候被激活。 Navigation Options 你还可以定义一个静态navigationOptions在你组件之上。...tabs const Tabs = TabNavigator({ Home: { screen: Home, navigationOptions: { // 可以写在组件

    12.3K70

    React Native 渲染优化一些经验分享

    React Native 性能应该一直是大家关心重点,我们会经常说到 React Native 应用主要优势在于性能比较好,但其背后主要原因之一得归功于其高效渲染能力。...除了上一篇文章:React Native性能瓶颈之JS 引擎,分析到我们可以在应用打开阶段通过 JavaScript Engine 方式优化应用页面打开阶段遇到白屏和加载时间过长问题,我们可以在...return true; } // ...}3、使用 React.memoReact.memo 是一种函数,可作为一种容器化控制渲染方案,它可以将一个组件包装成一个新组件,该组件会在其 props...这可以大大提高渲染性能,尤其是当组件 props 或 state 经常发生变化时。要使用 memo,只需将其作为组件包装函数即可。...add }当然在渲染环节还有其他方法,例如 StyleSheet 、useCallback

    34430
    领券