内容简介:欢迎来到React Native版本的0.57版!这个版本解决了许多问题,并有一些令人兴奋的改进。我们再次跳过了一个月发布,通过扩展发布候选阶段关注质量,并且兼容之前的版本这个版本包括正如过去几次提到的那样,核心团队正在审查存储库以将其更改为React Native的基本功能,以便使整个生态系统更易于维护(通过使用dividi-et-impera方法,社区将更快地移动并使拉取请求更快地被审查和合并)。此更改需要将一些组件提取到他们自己的单独存储库中并删除旧的,未使用的代码(此处的详细信息)。 (
欢迎来到React Native版本的0.57版!这个版本解决了许多问题,并有一些令人兴奋的改进。我们再次跳过了一个月发布,通过扩展发布候选阶段关注质量,并且兼容之前的版本
这个版本包括 599提交由73个不同的贡献者 !为了响应反馈,我们准备了一个只包含用户影响的更改的变更日志。请分享您的意见,并让我们知道我们如何使这更有用,如果您对此有任何反馈,和往常一样请告知我们 let us know
Highlights
New features
- 辅助功能API现在支持可访问性提示,反色,以及更容易用于定义元素的角色和状态 @ziqichen6's excellent blog post
- 在iOS上,WKWebView现在可以在WebView组件中使用 @rsnara's awesome blog post
- 更好地支持其他平台。有关详细信息 the discussion
Tooling updates
- Android构建 工具 已经升级,需要(SDK 27, gradle 4.4, and support library 27);由于Android编译工具暂时不支持3.2,所以请暂时停留在3.1版本
- 支持 Babel 7 请阅读here about using TypeScript and check out the Babel 7 migration guide for help migrating.
- Metro已经升级(with Babel 7 and better transformer support),并在接下来的主要版本中,我们计划有两个新功能(ram bundles and inline requires)可供大家选择; 此外,如果您有自定义打包程序配置,我们建议您还阅读。 here ; moreover, if you have a custom packager config, we recommend you read also the "updating to this version" section.
- Flow,React和相关包也已更新,它包括 working support for theReact Profiler.
The Slimmening is happening
正如过去几次提到的那样,核心团队正在审查存储库以将其更改为React Native的基本功能,以便使整个生态系统更易于维护(通过使用dividi-et-impera方法,社区将更快地移动并使拉取请求更快地被审查和合并)。此更改需要将一些组件提取到他们自己的单独存储库中并删除旧的,未使用的代码(此处的详细信息)。 ( details here ).
任何更改都不会直接影响0.57 ,但我们希望您知道:
- WebView将在react-native-community / react-native-webview它自己的repo上移除。WebView很快就会弃用 react-native-community/react-native-webview
- NavigatorIOS将从主代码库中完全删除,从0.58.0开始(通过此提交); 它已被弃用(via this commit ); it is now deprecated
Updating to this version
-
升级React Native版本到
0.57.0
, 同时 React 版本到16.5
-
将babel预设依赖项从"babel-preset-react-native": "^5",更改为"metro-react-native-babel-preset": "^0.45.0",,然后将.babelrc配置更改为
{ "presets": ["module:metro-react-native-babel-preset"] } 复制代码
-
确保您的babel版本时^7.0.0(您可能还需要添加babel-core": "7.0.0-bridge.0"以确保兼容性)
-
如果您有自定义打包程序配置rn-cli.config.js,则可能需要更新它以使用更新的Metro配置结构(有关详细信息,请参阅Metro的文档); 以下是一些常见的变化rn-cli.config.js:
-const blacklist = require('metro/src/blacklist') +const blacklist = require('metro-config/src/defaults/blacklist') // ... module.exports = { + watchFolders: alternateRoots, + resolver: { + blacklistRE: blacklist + }, + transformer: { + babelTransformerPath: require.resolve('./scripts/transformer.js'), + }, - getProjectRoots() { - return [ - path.resolve(__dirname), - ].concat(alternateRoots) - }, - getBlacklistRE() { - return blacklist; - }, - transformModulePath: require.resolve('./scripts/transformer.js'), } 复制代码
-
运行yarn命令确保安装所有新依赖项
Added: new features
- 添加 .nvmrc 同时确保 node 版本支持ESLint 5 ( 30b9d81 by @slorber )
- 可访问性有很大的改变 ( 9f01e4c , b5b704d , c36e8b3 , 40f6998 , c1d0ccd , 679bff2 , 10b603f , d9eeae9 , 3cfa7ae , 5acb721 , 5741f77 , d0b86ec , e739143 , c27b495 , 5aa040d , 03036f7 , 3bedc78 , ca01290 , 121e2e5 , 1bc5226 , 48b3d13 , ef3d8b2 , 5f8b44f , 50e4001 , and f39d092 by @ziqichen6 )
- 添加YogaNodeProperties实现基于ByteBuffer ( 0c97e75 and 23657cc by @davidaurelio )
-
添加FlatList和SectionList动画导出 ( daa7c78
by @yunyu
)
-为
FlatList
/VirtualizedList
添加新的样式属性ListHeaderComponent
和ListFooterComponent
( a2675ce ) - 向Module Registry systraces添加了更多信息 ( c7fdd27 by @axe-fb )
- 通过新haste字段添加对其他平台插件的支持package.json; 在docs条目中阅读更多内容docs entry ( 6bcd51a by @empyrical )
- 加入snapToOffsets到ScrollView并提出了一些修正,snapToInterval等 ( ef7e99c by @olegbl )
Android specific additions
-允许注册自定义打包程序命令处理程序 ( b3ef1c3 by @fkgozali )
-
Android中实现
AccessibilityInfo.setAccessibilityFocus
( be715ec by @draperunner ) -
支持
overflow
( b81c8b5 and bbdc12e by @yungsters )
iOS specific additions
- WebView现在可以使用WKWebView,如果你在内部配置了useWebKit={true} ( e90d9ca , 9b3a6ec , f7f9d01 , 94560ca , 06cce04 , 1c3af59 , 5662598 , 1984f4b , 1b73e76 , d0b5a38 , 0fa5bd8 , 527792a , ee971a7 , d29c253 , 0009d09 , 078799f , f46dbc2 , 262d286 , 959aacf , and e0df3a1 by @rsnara )
-
在IOS中添加
accessibilityHint
( 253b29d by @draperunner )
Changes: existing functionality that is now different
- *[BREAKING]*在CLI中,unbundle现在是ram-bundle ( ebf5aea by @jeanlauliac )
- Bump最小节点版本为8.3 (#20236) ( e64e13f by @hramos )
- 升级 React ( 70913a4 , b7bb25f , and 0b30129 by @acdlite , @hramos , and @yungsters )
- 升级 Flow 到 v0.76.0 ( eac34e3 by @gabelevi )
- 升级 jest 到 23.4.1 ( 51cf9eb by @rafeca )
- 升级 babel-eslint 到 v9.0.0-beta.2 with better support for Flow ( abf1188 by @rubennorte )
- 升级 ESLint 到 5.1.0 ( 0f2f0ca by @rubennorte )
- 升级 Babel 到 v7.0.0 ( b9d1c83 , 724c749 by Peter van der Zee, and 9f83fcc by @rubennorte and @rafeca )
- Metro 目前版本为 v0.45.0 ( 169d683 , bda84a3 , 5288656 , 1bfa422 , 96939ad by @CompuIves and @rafeca )
- 在非开发模式下隐藏预先捆绑的通知 ( edf7100 by @yancouto )
-
定义
StyleSheet.compose
为Flow 类型 ( 50a481d by @yungsters ) - 捕获JS bundle加载失败并阻止之后调用JS ( 201ba8c by @fkgozali )
- 使用新的 Metro 配置在react-native cli ( a32620d and aaf797a by @CompuIves )
-
默认在haste/cli白名单中配置
react-native-dom
( c4bcca6 by @vincentriemer ) -
在CLI中不要覆盖
metro.config.js
配置 ( 3afe711 by @rozele )
Android specific changes
-
Image
没有source时返回null ( 28c7ccf by @himabindugadupudi ) -
targetSdkVersion
is 26 ( bfb68c0 by @dulmandakh ) - 升级 NDK 到 r17b ( 6117a6c by @dulmandakh )
- 升级 NDK toolchain 到 4.9 ( ccdd450 by @dulmandakh )
- 升级 Android Support Library 到 version 27.1.1 同时升级 compileSdkVersion 到 27; buildToolsVersion 也会保持一致 ( d9868f7 and 5992f8d by @dulmandakh )
- 升级 Android gradle plugin 到 3.1.4, Gradle wrapper 到 4.4 ( 6eac2d4 and 33d20da by @gengjiawen and @dulmandakh )
- 升级 soloader 到 0.5.1 ( b6f2aad by @gengjiawen )
- 升级 mockito 到 2.19.1 ( 3ea803a by @dulmandakh )
- 升级 glog 到 0.3.5 ( b5fca80 by @dulmandakh )
以上所述就是小编给大家介绍的《react-native 0.57 版本更新日志》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 自定义版本更新弹窗
- Apache Ignite 2.9.1 版本发布,小版本更新
- CCleaner v5.74.8184 发布:重要更新版本、可自动更新
- DBeaver 切换至日历版本控制,版本号更新至 21.0
- OneBase 1.3.2 版本更新
- PostgreSQL 同时发布多个版本更新
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。