明天ReactNative官网公布了0.63版本,间隔上一个版本0.62曾经过了差不多将近4个月的工夫了,我在上一篇文章中也提到了0.62的更新内容一篇文章带你理解ReactNative0.62更新内容。
此次0.63版本的更新次要是提供了一个LogBox(日志盒子),一个全新设计的日志零碎,不便开发定位开发中遇到的问题,请大家通过本篇文章来理解一下吧。
@[toc]

LogBox

在ReactNative定位谬误始终是一个比拟艰难的事件,所以ReactNative团队从新设计了针对谬误,正告及日志的零碎,全新的UI设计,称之为LogBox,款式如下:

LogBox通过如下三点来欠缺解决开发过程中遇到的比方无奈格式化,简短的正告和错误信息等:

  • 简介: 日志零碎应该提供尽可能简略的信息来帮忙开发定位问题
  • 格式化: 将信息格式化,不便开发定位和查看
  • 可操作性: 日志应该具备可操作性,能够帮忙解决问题

为了达到以上指标,LogBox蕴含如下几个性能零碎:

  • 日志告诉: 从新设计了正告告诉并减少了谬误反对,console.warn和console.log音讯都都是为告诉,而不是以往的会笼罩APP页面之上
  • 代码框架:谬误及正告都有对应的代码框架能够在APP内显示对应的源码,不便疾速定位信息
  • 组件堆栈: 将堆栈信息独自从日志零碎中剥离,是日志信息不会因堆栈信息而凌乱
  • 折叠堆栈信息: 将与应用程序无关的堆栈框架信息进行折叠,能够疾速查看问题,而不必在ReactNative外部进行筛选
  • 语法错误格局:改良了语法错误的格局,并通过语法突出显示增加了代码帧,因而能够查看谬误的本源,进行修复,并持续进行编码

通过全新设计的日志零碎,能够让开发者通过下面令人赏心悦目的UI展现,更加不便的开发调试。
提供了新的LogBoxApi来替换原来YellowBox:

  • LogBox.ignoreLogs(): 用于替换原来YellowBox.ignoreLogs([])的性能
  • LogBox.ignoreAllLogs():用于替换console.disableYellowBox,敞开谬误和正告告诉。

新版本的LogBox内容就是以上的内容了,还有其余内容,一起来看一下吧。

Pressable

ReactNative中目前可点击的组件如下:Button, TouchableWithoutFeedback, TouchableHighlight, TouchableOpacity, TouchableNativeFeedback, and TouchableBounce.然而在不同平台上的点击体现是不统一,将来ReactNative将在很多平台上提供高质量的利用,目前在Web, Desktop, 和TV均有倒退,已此须要在所有平台上提供高质量的交互体验。
为了解决这个问题,推出了一个外围交互API-Pressable,用于扩大其性能,以包含悬停,含糊,聚焦等。应用形式如下:

import { Pressable, Text } from 'react-native';<Pressable  onPress={() => {    console.log('pressed');  }}  style={({ pressed }) => ({    backgroundColor: pressed ? 'lightskyblue' : 'white'  })}>  <Text style={styles.text}>Press Me!</Text></Pressable>;

原生平台Color(PlatformColor, DynamicColorIOS)

每个原生平台都有零碎定义的色彩的概念。React Native当初提供了一个开箱即用的解决方案来应用这些零碎色彩。PlatformColor()是一个新的API,能够像React Native中的任何其余色彩一样应用。
对于IOS零碎,提供了一个labelColor,应用形式如下

import { Text, PlatformColor } from 'react-native';<Text style={{ color: PlatformColor('labelColor') }}>  This is a label</Text>;

对于Android零碎,提供了一个colorButtonNormal,应用形式如下

import { View, Text, PlatformColor } from 'react-native';<View  style={{    backgroundColor: PlatformColor('?attr/colorButtonNormal')  }}>  <Text>This is colored like a button!</Text></View>;

DynamicColorIOS是一个仅用于iOS的API,可让定义在浅色和深色模式下应用的色彩。与PlatformColor类似,它能够在任何能够应用色彩的中央应用。DynamicColorIOS在后盾应用iOS的colorWithDynamicProvider。

import { Text, DynamicColorIOS } from 'react-native';const customDynamicTextColor = DynamicColorIOS({  dark: 'lightskyblue',  light: 'midnightblue'});<Text style={{ color: customDynamicTextColor }}>  This color changes automatically based on the system theme!</Text>;

不再反对iOS9及Node.js 8

### 其余显著的改良

  • 反对在Text中渲染View
  • 将iOS LaunchScreen从xib更改为storyboard:从2020年4月30日开始,所有提交到App Store的利用必须应用Xcode storyboard来设置启动页,并适配所有iphone屏幕。

以上就是所有ReactNative0.63版本的次要更新内容。

感觉文章不错的,给我点个赞哇,关注一下呗!
技术交换可关注微信公众号【君伟说】,加我好友一起探讨
微信交换群:加好友Wayne214(备注技术交换)邀你入群,抱团学习共提高