0.36: 无头 JS、键盘 API 及更多功能
·阅读时间 3 分钟
今天我们发布了 React Native 0.36。继续阅读以了解有关新增功能的更多信息。
无头 JS
无头 JS 是一种在应用处于后台时运行 JavaScript 任务的方法。例如,它可用于同步最新数据、处理推送通知或播放音乐。目前仅在 Android 上可用。
要开始使用,请在专用文件中定义您的异步任务(例如 SomeTaskName.js
)
module.exports = async taskData => {
// Perform your task here.
};
接下来,在 AppRegistry
上注册您的任务
AppRegistry.registerHeadlessTask('SomeTaskName', () =>
require('SomeTaskName'),
);
使用无头 JS 需要编写一些原生 Java 代码,以便在需要时启动服务。查看我们新的 无头 JS 文档 以了解更多信息!
键盘 API
使用屏幕键盘现在更容易了 Keyboard
。您现在可以监听原生键盘事件并对其做出反应。例如,要关闭活动键盘,只需调用 Keyboard.dismiss()
import {Keyboard} from 'react-native';
// Hide that keyboard!
Keyboard.dismiss();
动画除法
React Native 已经支持通过加法、乘法和模运算组合两个动画值。在 0.36 版本中,现在可以组合两个 通过除法进行动画值的组合。在某些情况下,动画值需要反转另一个动画值以进行计算。一个例子是反转缩放比例(2x --> 0.5x)
const a = Animated.Value(1);
const b = Animated.divide(1, a);
Animated.spring(a, {
toValue: 2,
}).start();
然后,b
将跟随 a
的弹簧动画并生成 1 / a
的值。
基本用法如下
<Animated.View style={{transform: [{scale: a}]}}>
<Animated.Image style={{transform: [{scale: b}]}} />
<Animated.View>
在此示例中,内部图像不会被拉伸,因为父级的缩放比例被抵消了。如果您想了解更多信息,请查看 动画指南。
深色状态栏
一个新的 barStyle
值已添加到 StatusBar
:dark-content
。通过此新增功能,您现在可以在 Android 和 iOS 上都使用 barStyle
。行为将如下所示
default
:使用平台默认值(iOS 上为浅色,Android 上为深色)。light-content
:使用浅色状态栏,黑色文本和图标。dark-content
:使用深色状态栏,白色文本和图标。
… 以及更多
以上只是 0.36 版本中更改内容的示例。查看 GitHub 上的发布说明 以查看完整的新功能、错误修复和重大更改列表。
您可以通过在终端中运行以下命令升级到 0.36
$ npm install --save [email protected]
$ react-native upgrade