内容简介:React Native 0.63 已经发布了,此版本主要亮点包括: 默认启用 LogBox <Pressable /> 组件 新增使用系统定义颜色的 API 默认启用 LogBox 社区一直以来反馈错误和警告很难在 React Native 中进行调试,因此开发团...
React Native 0.63 已经发布了,此版本主要亮点包括:
- 默认启用 LogBox
<Pressable />
组件- 新增使用系统定义颜色的 API
默认启用 LogBox
社区一直以来反馈错误和警告很难在 React Native 中进行调试,因此开发团队研究了 React Native 中的整个错误、警告和日志系统,从头开始对其进行了重新设计,现在使用一个新系统 LogBox 替换 redbox、yellowbox 与日志记录。上一个版本中已经引入该 LogBox,此版本开始,它默认开启,并在使用 yellowbox 等一些不建议使用的模块或方法时发出警告,0.64 版本中将删除相关 API。
LogBox 目标是:
- 简洁:日志应提供调试问题所需的最少信息量。
- 格式化:日志应该格式化,可以快速找到所需的信息。
- 可操作性:日志应可操作,可以解决问题并继续进行。
为了实现这些目标,LogBox 设计时包括:
- 日志通知:重新设计了警告通知并增加了对错误的支持,以便所有 console.warn 和 console.log 消息都显示为通知,而不是覆盖应用程序。
- 代码帧:每个错误和警告都包括一个代码帧,可在应用程序内部显示日志的源代码,可以快速识别问题的来源。
- 组件栈:提供了一个一致的、不会使日志消息混乱的组件栈帧信息,只显示前三个。
- 折叠组件栈帧:默认情况下折叠与应用程序代码无关的调用堆栈帧,可以在应用程序中快速查看问题,而不必通过 React Native 内部筛选。
- 语法错误格式:改进了语法错误的格式,并通过语法高亮添加了代码帧,可以查看错误的根源进行修复,并继续进行编码。
pressable 组件
React Native 现在支持 Web、桌面和电视等平台,但是缺少对其它输入方式的支持。为了解决在所有平台上支持高质量的交互体验,此版本提供了一个新核心组件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>;
新增使用系统定义颜色的 API
每个平台都有系统定义的颜色,尽管可以通过Appearance
API 或 AccessibilityInfo
检测并设置其中的某些样式,但是这样的操作不仅开发成本高昂,而且还局限。
React Native 现在提供了一个开箱即用的解决方案来使用这些系统颜色。PlatformColor()
是一个新的 API,可以像 React Native 中的其它任何颜色一样使用。
例如,在 iOS 上,系统提供一种颜色labelColor
,可以在 React Native 中这样使用 PlatformColor
:
import { Text, PlatformColor } from 'react-native';
<Text style={{ color: PlatformColor('labelColor') }}>
This is a label
</Text>;
另一方面,Android 提供像 colorButtonNormal 这样的颜色,可以在 React Native 中这样使用 PlatformColor
:
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
相似,可以在任何可以使用颜色的地方使用:
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>;
此外 0.63 版本还不再支持 iOS 9 与 Node.js 8,完整更新内容可以查看:
- https://github.com/facebook/react-native/releases/tag/v0.63.0
- https://reactnative.dev/blog/2020/07/06/version-0.63
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ASP.NET动态网站开发基础教程
郭兴峰 / 清华大学 / 2006-5 / 32.00元
ASP.NET是由Microsoft公司推出的新一代Web开发构架。开发人员可以通过ASP.NET实现动态网站的开发,包括开发Web应用程序和Web服务。 本书详细讲解了ASP.NET动态网站开发技术,共分13章,内容包括ASP.NET语言基础、HTML与Script语言、C#语言基础、ASP.NET常用对象、数据库访问技术、数据服务控件和数据绑定技术、ASP.NET配置和部署、ASP.......一起来看看 《ASP.NET动态网站开发基础教程》 这本书的介绍吧!