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

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

如果我们想知道自己的屏幕以这种长度的计量下是多少单位,可以通过引入react-native包中的Dimensions拿到,同时还可以查看本机的像素比例是多少。...,所有的核心组件都接受名为 style 的属性,这些样式名基本上都遵循 web 上的 CSS 属性名 1.5.1、RN 样式的声明方式 1、通过 style 属性直接声明 属性值为对象: 属性值为数组: 2、在 style 属性中调用 StyleSheet 声明的样式 引入:import {StyleSheet...在 React Native 中,则使用 React 组件通过 JavaScript 来调用这些视图。在运行时,React Native 为这些组件创建相应的 Android 和 iOS 视图。...当开关值为false或开关被禁用时(开关是半透明的),可以看到这个背景颜色。 onValueChange 当值改变的时候调用此回调函数,参数为新的值。

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

    React Native 系列(一) -- JS入门知识

    它是一种基于原型的多范式动态脚本语言,支持面向对象,命令式编程和函数式编程。 JS的标准是ECMAScript,React Native是基于ECMAScript 6,简称ES6。...不能动态增加对象或类的属性或方法 变量类型不需要提前声明(动态类型) 变量类型必须提前声明(静态类型) 不能直接写入硬盘 可以直接写入硬盘 JS的基础知识 声明 var声明变量,可以在声明的时候初始化一个值...= "欢迎阅读" Tips:JS是一个动态类型语言(dynamically typed language)中,所以变量不需声明类型,必要的时候自动转换。...() => this.scottLog()这一行感到很奇怪,其实这里onPress是一个函数类型(在JS中,函数本身也是一种类型)。...致谢 如果发现有错误的地方,欢迎各位指出,谢谢!

    1.8K100

    如何优雅的在react-hook中进行网络请求

    运行上述代码后,会发现其中的console会一直循环打印,我们知道useEffect函数会在render更新后也就是原来的(componentDidUpdate)进行调用。...这里我们在函数中调用了setData设置接口返回数据,触发页面的更新机制,就造成了死循环。...,依赖项中数据发生变化的时候,hook就会重新执行,如果依赖项为空,hook认为没有数据发生变更,在组件更新的时候就不会在此执行。...,在代码中,useEffect hook的第二个参数是空数组,所以没有触发effect运行,重新获取数据,我们添加一下依赖项"search"到数组中,重新运行代码后,点击按钮就可看到我们的数据已经正确更新了...错误处理是在网络请求中是非常必要的,添加一个error状态,使用try/catch来进行捕获处理。

    9.3K73

    React Native之React速学教程(下)

    ES6的特性 何为ES6? ES6全称ECMAScript 6.0,ES6于2015年6月17日发布,ECMAScript是ECMA制定的标准化脚本语言。...目前JavaScript使用的ECMAScript版本为ECMAScript-262。 下面我为大家列举了ES6新特性中对我们开发影响比较大的六方面的特性。...模块的功能主要由 export 和 import 组成。每一个模块都有自己单独的作用域,模块之间的相互调用关系是通过 export 来规定模块对外暴露的接口,通过import来引用其它模块提供的接口。...箭头函数的结构 箭头函数的箭头=>之前是一个空括号、单个的参数名、或用括号括起的多个参数名,而箭头之后可以是一个表达式(作为函数的返回值),或者是用花括号括起的函数体(需要自行通过return来返回值,...卸载监听器时的陷阱 错误的做法 class PauseMenu extends React.Component{ componentWillMount(){ AppStateIOS.addEventListener

    2.8K50

    React Native热更新方案

    其它代码 } iOS的ATS例外配置 从iOS9开始,苹果要求以白名单的形式在Info.plist中列出外部的非https接口,以督促开发者部署https协议。...在我们的服务部署https协议之前,请在Info.plist中添加如下例外。具体步骤为:右键点击Info.plist,选择open as - source code。...你可以使用switchVersion函数立即切换版本(此时应用会立即重新加载),或者选择调用 switchVersionLater,让应用在下一次启动的时候再加载新的版本。...首次启动、回滚 在每次更新完毕后的首次启动时,isFirstTime常量会为true。 你必须在应用退出前合适的任何时机,调用markSuccess,否则应用下一次启动的时候将会进行回滚操作。...如果在发布之前修改了脚本或资源,请在网页端删除之前上传的版本并重新上传。

    9.5K70

    react-navigation,刷新你的导航一、属性介绍二、案例

    :自定义设置跳转效果 transitionConfig:自定义设置滑动返回的配置 onTransitionStart:当转换动画即将被调用的功能 onTransitionEnd:当转换动画完成时被调用的功能...path用于声明一个界面路径 initialRouteName:设置默认的页面组件,必须是已经注册的页面组件 initailRouteParams:设置路由参数 1.2TabNavigator属性 screen...需要给每一项都设置 tabBarLabel:设置标签栏的title 以下属性配合导航使用 tabBarPosition:设置tabBar的位置,属性值为top和bottom。...如果是,设置为initialRoute,否则为none。...为了代码的健壮性,如果外界的user属性有值,就将user赋值给title。如果没有则让title为空。

    19.7K90

    那些React-Native踩过的的坑

    operation not permitted,lstat '..\.git\inde.lock'..错误 image.png 一开始根据翻译的话说是对这个文件的操作不被允许:    第一点:很容易想到是文件权限的问题...具体例子:    0x01网络请求的不同状态:请求成功-无内容 请求成功-有数据 解析失败 接口错误     0x02播放器的详情页中点击播放按钮 进度条开始往前走 可以设置一个播放状态          ...findNodeHandle, ... } from 'react-native'; 不使用类名调用方法: findNodeHandle(ref) 0x05 redux-form问题 问题:代码如下..._onPress(index,value)} 虽然我们没有点击下面的超链接,但是这里会无限打印log,所以说react会自动执行下面的onClick表达式,从而得到真正的onclick函数句柄,进而导致无限修改..._onPress(2)}},   后者当react执行onClick表达式的时候得到的是一个函数   参考:https://github.com/facebook/react/issues/7177

    2K90

    React Native 路由使用总结

    React Native 路由 因 React Native 版本设计到0.44之后,原先的 RN 路由完全失效了,首先我先附上原先路由写法,下面为原先路由代码: import React, { Component...的 路由,网上查询各种资料,找出类似 Vue/React的路由使用。...但是React Native 升级到0.44 之后,运行直接报错,createMemoryHistory('/') 异常, 也许是我的使用不当,或者说是环境原因,期间我也打开node_model研究过一番...---- 路由解决方案1: PS: ==RN官方声明 从RN 0.43版本开始,官方将停止维护Navigator,建议大家迁移到新的react-navigation库== RN 官网地址 RN官网 reactnavigation...下面为两文件的代码: 1、routes.js 文件代码: 这个文件主要是用于处理 Navigator import React, { Component } from 'react' import

    2.1K20

    React Native 系列(二) -- React入门知识

    React的设计思想是: Declarative(交互式的) 应用都是基于状态的,应用会随着数据的变化切换到不同的状态,React 将这种状态抽象为一个个View,这样状态改变后,利用React就在不同...使用起来类型XML,React会对JSX的代码进行编译,生成JavaScript代码,用来描述React中的Element如何渲染。...StyleSheet, Text, View, TouchableHighlight } from 'react-native'; tips: jsx编译结果在线查看 如果你的标签是空的...); React在解析的时候,会认为这和div类似,是html内置标签,引起错误。 JS代码 JSX中的JS表达式要用{}括起来,不要加引号,加引号后React会认为是字符串。...tips: 上文的 onPress采用了js中的箭头函数,除了箭头函数之外,也可以用function本身传入: image.png 注意这一行: this.

    1.7K100

    ReactNative调用Android原生模块

    我们把React Native设计为可以在其基础上编写真正的原生代码,并且可以访问平台所有的能力。要想实现访问Android原生API,总结一下,主要有以下几个步骤: 1....注册模块 要使JavaScript端调用到原生模块还需注册这个原生模块,需要实现一个类实现ReactPackage接口,并实现其中的抽象方法。...获取android返回值 提供给js调用的原生android方法的返回类型必须是void,React Native的跨语言访问是异步进行的,所以想要给JavaScript返回一个值的唯一办法是使用回调函数或者发送事件...4.1 回调函数 Callback是React.bridge中的一个接口,它作为ReactMethod的一个传参,用来映射JavaScript的回调函数(function)。...Callback接口只定义了一个方法invoke,invoke接受多个参数,这个参数必须是react.bridge中支持的参数。

    1.4K70

    React Native之TextInput组件实现联想输入

    TextInput组件是最基本的组件,相关介绍请查看TextInput组件介绍 输入框组件属性 输入框组件的主要属性如下: autoCapitalize : 枚举类型,可选值有none,sentences...password : 如果为ture , 则是密码输入框,文本显示为***。 multiline : 如果为true , 则是多行输入。 editable : 如果为false , 文本框不可输入。...maxLength : 能够输入的最长字符数。 enablesReturnKeyAutomatically : 如果值为true,表示没有文本时键盘是不能有返回键的。其默认值为false。...onChangeText : 当文本输入框的内容发生变化时,调用该函数。 onChangeText接收一个文本的参数对象。 onChange : 当文本变化时,调用该函数。...this.setState({ show: false, value: val }); } //获取value值调用的方法

    3.3K100

    react-navigation导航器

    https://reactnavigation.org/ ——源于React Native社区对基于Javascript的可扩展且使用简单的导航解决方案的需求 。...和h5用a标签来跳转不太一样的是,rn必须依赖导航器跳转。导航器也可以看成是一个普通的React组件,你可以通过导航器来定义你的APP中的导航结构。...Screen navigationOptions(屏幕导航选项):通过navigationOptions可以定制导航器显示屏幕的方式(例如:头部标题,选项卡标签等) 导航器类型 在react-navigation...中有以下类型的导航器: createStackNavigator:类似普通的Navigator,导航上⽅导航栏 createTabNavigator:已弃用,使⽤createBottomTabNavigator...我可以给首页加个标题: Home:{ screen:HomePage, // 导航器配置: navigationOptions:{ // 让导航栏为空

    6.3K20

    从0到1打造一款react-native App(三)Camera

    版权声明:本文为博主原创文章,未经博主允许不得转载。...react-native-camera 拍照的第三方包有很多,比如react-native-image-picker,这个调用的是系统相机,用法比较简单,但是拓展性较差,不管是这次项目主要的需求(拍照后不在系统相册显示...(以base64的形式存储在内存当中,这个选项在之后的版本已经被废弃了,不过0.7版本还是可以用的) 实现基本思路是,通过外层调用来控制整个组件的样式值,来管理组件的显示与隐藏,即组件state的hidden...当组件被成功调用显示时,组件主要分为两块,拍照和预览。给定一个拍照照片的路径值,即组件state的currentImage,如果当前组件存在一个照片的存储路径,就显示预览界面,如不存在就显示拍照界面。...支持对各种条形码的扫描识别,主要的属性有两个 barCodeTypes={[Camera.constants.BarCodeType.qr]} //扫码的类型 onBarCodeRead={this.props.onScanResultReceived

    1.7K30

    移动跨平台框架React Native状态栏组件StatusBar【16】

    React Native,是一个混合移动应用开发框架,是目前流行的跨平台移动应用开发框架之一。React Native 采用不同的方法进行混合移动应用开发。...它不会生成原生 UI 组件,而是基于 React,React Native 是一个用于构建基于 Web 的交互界面的 JavaScript 库,因此会有更丰富的 UI 体验效果,同时也能够很好地调用底层框架的...值说明 值说明none默认,没有动画效果fade渐隐渐现动画效果slide渐入渐出动画效果 范例 范例 1 下面的代码,我们设置状态栏 StatusBar 的主题色为 暗色系,同时显示状态栏。...StatusBar barStyle = "dark-content" hidden={false} /> ) } export default App 运行效果如下 范例2 下面的代码,我们使用脚本来控制状态栏的显示和隐藏...,使用脚本来控制状态栏的主题色 App.js import React, { Component } from 'react'; import {View, Text, StatusBar, StyleSheet

    2.2K20
    领券