当前位置:首页 > 实时新闻 > 正文

react

摘要: react最佳答案53678位专家为你答疑解惑react-native在应用市场发布新的版本已经在应用市场发布的react-na...

react

最佳答案 53678位专家为你答疑解惑

react-native 在应用市场发布新的版本

已经在应用市场发布的react-native 应用App,在有新的版本时需要提交新的应用程序,打包之前要修改一下版本号

修改文件路径:\android\app\build.gradle

targetSdkVersion 和 versionCode 是递增的版本号,要比你之前上传应用市场的要高

versionName 是你自己定义的版本号:用户安装时会看到此版本号。

React Native 0.63 发布,告警系统、颜色与交互能力改进

来源:https://www.oschina.net/news/117038/react-native-0-63-released

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

每个平台都有系统定义的颜色,尽管可以通过AppearanceAPI 或 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.0https://reactnative.dev/blog/2020/07/06/version-0.63

发表评论