欢迎来到2018年6月发布的React Native!超过53个贡献者自3月份以来共提交了768次提交 - 我们非常感谢你们每一个人。
正如你将在一秒钟内看到的那样,这个新版本有一些重要的突破性变化,需要大量的额外努力才能达到稳定的0.56。这是6月从每月发布周期中跳过的主要原因,但展望未来,我们计划每月都要推出。
强调
React Native现在使用Babel7。升级到0.56时,请确保将其升级到react-native-babel-presetv5或更新版本。如果你有使用到,请及时更新,因为Babel 7不向后兼容。
node 8现在是最低要求的版本。
iOS 9现在是最低要求的版本。任何可以运行iOS 8的设备都可以升级到iOS 9
WebView 只会默认加载http(s)网址,默认情况下会禁用geolocation。
为几个组件添加流类型。我们正在迁移PropTypes和运行时检查,而不是依靠Flow。在本发行版中,您会注意到与Flow有关的许多改进。
修复较新的Xcode版本的项目设置警告,删除不必要的控制台日志记录。
很多错误修复。
Facebook内部团队目前正在重写一些核心架构。这是一项正在进行的工作,我们并不期望在近期版本中使用它,但我们觉得有必要让你知道那些提到Fabric的提交者。
增加:新功能
babelHelpers用Babel 7支持更新- https://github.com/facebook/react-native/commit/fbd1beaf666be9c09a380784f8c0cd34ba083a6b
FlatList现在符合严格模式 - https://github.com/facebook/react-native/commit/a90d0e3614c467c33cf85bcbe65be71903d5aecc
启用?.可选的链接运算符插件 - https://github.com/facebook/react-native/commit/aa6f394c4236e5a4998c3be8ed61ec1bab950775
支持flexWrap: 'wrap-reverse'- https://github.com/facebook/react-native/commit/d69e55060fd76d91eccc45905d250a9fce4b2c49
将prop添加accessibilityTraits到Text- https://github.com/facebook/react-native/commit/654435d1ed9e584e65fff601e1fa50591e042664
为模板添加devDependencies支持 - https://github.com/facebook/react-native/commit/c4ab03a18e75e6ed55444b5d86f3ceee435b9a78
添加对springDamping的支持SpringInterpolator- https://github.com/facebook/react-native/commit/1dde989919d2c272ca7fcaa5c4b2d9ee02c490a0
Flow类型SegmentedControlIOS- https://github.com/facebook/react-native/commit/113f009698dbd8f1b4c1048d77ff1eb373021083
Flow类型ProgressViewIOS- https://github.com/facebook/react-native/commit/c87701ba05a8524756e87c089eb92c8f3c81823e
Flow类型PickerIOS- https://github.com/facebook/react-native/commit/1c66cdc7e8ce8190dfbef76629601497446b2b0a
Flow类型Switch- https://github.com/facebook/react-native/commit/06052a2330fc9c1dd0d56c6bbe5a17703f80c6b9
Flow类型Slider- https://github.com/facebook/react-native/commit/cbe045a95f1ca53d99ae521742a93299a53d6136
Flow类型RefreshControl- https://github.com/facebook/react-native/commit/891dfc3da4b5825097aedf73ff04e8982c00aeff
Flow类型ListView- https://github.com/facebook/react-native/commit/4b1ecb62045fbb78764d1f51030f2253be705c5c
Flow类型TextInput- https://github.com/facebook/react-native/commit/c8bcda8150278fde07331ca6958976b2b3395688
Flow类型为TouchableBounce- https://github.com/facebook/react-native/commit/8454a36b0bc54cb1e267bc264657cc693607da71
Flow类型为TouchableOpacity- https://github.com/facebook/react-native/commit/44743c07ad672e39668f92a801578906ec92996a
Flow类型TouchableHighlight- https://github.com/facebook/react-native/commit/f0c18dc820537892dcc33d5aebbf4f52cf299b95
Flow type for TouchableWithoutFeedback- https://github.com/facebook/react-native/commit/0b79d1faa21eb3c29aeeba08ee0fb2ed62e6cc54
Flow类型为ScrollView- https://github.com/facebook/react-native/commit/b1276622791d5dbe4199bb075f473908c3e62b31
Flow类型DatePickerIOS- https://github.com/facebook/react-native/commit/97e572ea6d7b1fd829ca20f5d5c8ff970d88e68b
Flow类型KeyboardAvoidingView- https://github.com/facebook/react-native/commit/188b118b6075be1614c553596b85d430767f2dbc
Flow类型ActivityIndicator- https://github.com/facebook/react-native/commit/0b71d1ddb03c036ed118574c105b0af505da19fc
Android特定的添加
使用CRLF添加对build.gradle的支持react-native link- https://github.com/facebook/react-native/commit/843cfc3b202433aad9a236b1b623da7c45e1ac15
添加一种方法来解除PopupMeny元素 - https://github.com/facebook/react-native/commit/353c070be9e9a5528d2098db4df3f0dc02d758a9
实现Image.defaultSource- https://github.com/facebook/react-native/commit/b0fa3228a77d89d6736da6fcae5dd32f74f3052c
支持Image resizeMode = repeat - https://github.com/facebook/react-native/commit/0459e4ffaadb161598ce1a5b14c08d49a9257c9c
Yoga:添加不赞成使用getParentAPI的方法 - https://github.com/facebook/react-native/commit/c3c5c3cbce24a31f73ae6339e377ee76ca6401ad
iOS特定的补充
使用Xcode 9.4和iOS 11.4运行测试 - https://github.com/facebook/react-native/commit/c55bcd6ea729cdf57fc14a5478b7c2e3f6b2a94d
添加对自制软件节点的支持 - https://github.com/facebook/react-native/commit/0964135a178b459e06b44a49a4ecb0dd6c5bec9b
添加textTransform样式支持 - https://github.com/facebook/react-native/commit/8621d4b79731e13a0c6e397abd93c193c6219000
将Swift用法的文档添加到RCTBridgeModule.h- https://github.com/facebook/react-native/commit/ca898f4367083e0943603521a41c48dec403e6c9
更改:现在不同的现有功能
升级原生Babel 7 - https://github.com/facebook/react-native/commit/f8d6b97140cffe8d18b2558f94570c8d1b410d5c
react-native init使用Babel 7 创建的新项目- https://github.com/facebook/react-native/commit/e315ec9891eb0bcb51afb0e797dbd49aa8f9ac71
限制WebView到只有HTTP(S)网址:https://github.com/facebook/react-native/commit/634e7e11e3ad39e0b13bf20cc7722c0cfd3c3e28 https://github.com/facebook/react-native/commit/23f8f7aecb1f21f4f5e44fb9e4a7456ea97935c9
Node8现在是所需的最低版本 - https://github.com/facebook/react-native/commit/c1e6f278237e84c8ed26d3d2eb45035f250e2d40
将React渲染器同步到版本c0fe8d6 - https://github.com/facebook/react-native/commit/f59e5a8d28491c64e4d0c08fec3a2b0b3fabb38b
升级Flow到v0.74 - https://github.com/facebook/react-native/commit/3bed272a620ac806a6142327013265ea8138641a
将Prettier版升级到v1.13.4 - https://github.com/facebook/react-native/commit/29fb2a8e90fa3811f9485d4b89d9dbcfffea93a6
将Jest升级到v23.1.0 - https://github.com/facebook/react-native/commit/536c9372692712b12317e657fc3e4263ecc70164
将Metro升级至v0.38 - https://github.com/facebook/react-native/commit/d081f83a0487ffbc7d19f8edc7532611b359dfc6
将Buck升级至v2018.03.26.01 - https://github.com/facebook/react-native/commit/1324e7b5580db815471172cf6dd140124bd2f11a
不允许引用不变/警告 - https://github.com/facebook/react-native/commit/521fb6d041167ec8a8d0e98ac606db1f27f0c5c8
删除本机道具类型验证 - https://github.com/facebook/react-native/commit/8dc3ba0444c94d9bbb66295b5af885bff9b9cd34
将$ FlowFixMe添加到Flow之前没有投诉的无效prop访问 - https://github.com/facebook/react-native/commit/f19ee28e7d896aaacf26c6f850230019bdef0d3d
更新react-devtools-core并plist包含以下报告的安全修复程序npm audit- https://github.com/facebook/react-native/commit/3a1d949906acb0c3b44d125d54d0c99305bbbb56
更新Switch到ES6课程 - https://github.com/facebook/react-native/commit/970caa4552d4ba87c1a954391535ff42b00832e7
更新Slider到ES6课程 - https://github.com/facebook/react-native/commit/5259450c143f71c65e157d6b7d3f0e1655eb7aa1
更新ActivityIndicator到ES6类 - https://github.com/facebook/react-native/commit/edd7acbb1e6fe185600a19cc1cbb38feb16c85ad
更新RefreshControl到ES6课程 - https://github.com/facebook/react-native/commit/a35a23831789030e17f766f72d307ae315be107d
更新KeyboardAvoidingView到ES6类 - https://github.com/facebook/react-native/commit/c017dcb0f2903b49b2f21cc150226aeb7f5026ee
更新DatePickerIOS到ES6类 - https://github.com/facebook/react-native/commit/f8c8231706492b588331354d45b833aa21434e13
更新Text到ES6类 - https://github.com/facebook/react-native/commit/ab92c00245c0ce717819ddb0ab8b9204d4c13c34
替换context.isInAParentTextw / React.createContext- https://github.com/facebook/react-native/commit/e1339bc18303ca5394cd0c9dc97cededb2261581
清理Text实施 - https://github.com/facebook/react-native/commit/06c05e744d8af9582bde348210f254d76dae48b9
切换Text到React.forwardRef- https://github.com/facebook/react-native/commit/e708010d18f938e2d6b6424cfc9485d8e5dd2800
切换View到React.forwardRef- https://github.com/facebook/react-native/commit/3e534b9aab5156adac67762877b2457408fe8934
更新使用genMockFunction,并genMockFn以fn在测试- https://github.com/facebook/react-native/commit/390ded871cb905d149e9c1f4a082e67a7ec7addb
请ViewProps准确- https://github.com/facebook/react-native/commit/65c336f38f4afd43c8b5f81745abf38bd9b8ddbf
蔓延TVViewProps到ViewProps代替路口- https://github.com/facebook/react-native/commit/bc658d3c4405676643d952a126295dbc7fc26217
允许尾随逗号 - https://github.com/facebook/react-native/commit/1e2de712907e5fe0d17648f0ff5c81d4384ca85b
使用let/ const- https://github.com/facebook/react-native/commit/8f5ebe5952d0675b463137103a82f3fb0c26ae0d
重构MockNativeMethods在Jest - https://github.com/facebook/react-native/commit/5d4c542c58d84bbe05f76bf01d9efdd9d438572c
app.json弹出后使用应用程序名称- https://github.com/facebook/react-native/commit/57774a4a981e2f12cfe9b029447e34f203221b18
建议git apply --reject升级失败 - https://github.com/facebook/react-native/commit/4fbd244b9a6b62e0efe1b4b5a7ec3de468f020f6
TouchHistoryMath从React 移动到React Native - https://github.com/facebook/react-native/commit/06085d38366373f3135074dc14e2c9871ca4fe29
重构RCTInputAccessoryView- https://github.com/facebook/react-native/commit/c136c54ff0211e2bf149fab600cd6e295f9d19dd
不要在额外的视图中包装ListEmptyComponent - https://github.com/facebook/react-native/commit/db061ea8c7b78d7e9df4a450c9e7a24d9b2382b4
将TextPropTypes 移动到它自己的文件 - https://github.com/facebook/react-native/commit/cd8128b2eccf6898cdf798a1e1be1f7a5762a0d4
ReactNative.NativeComponent在Jest中模拟原生方法 - https://github.com/facebook/react-native/commit/3e9a371ace5f25b2eb7a0d30177251f8a0c10ed9
收紧View和VirtualizedList- https://github.com/facebook/react-native/commit/5035af80ecddb44e2a8444780f25f336b760bf32
使值在ViewPropTypes- https://github.com/facebook/react-native/commit/f1316cab6c351852ef1da9939d4c8f0244fb8a6f中可选
propType对本地组件是可选的 - https://github.com/facebook/react-native/commit/dbdf43b428da19a9eba012753904bcf33339ea9a
将样式重命名为DangerouslyImpreciseStyle - https://github.com/facebook/react-native/commit/4895c645ea17ff939811f3d5ec6218cd4e31c5fb
iOS特定更改
iOS 9现在是最低要求的版本 - https://github.com/facebook/react-native/commit/f50df4f5eca4b4324ff18a49dcf8be3694482b51
更新podspecs以定位iOS 9 - https://github.com/facebook/react-native/commit/092103e7525e58e04346e0a1a16a67ca4f31c2e9
在WebSocket中阻止iOS 11.3+的控制台日志记录 - https://github.com/facebook/react-native/commit/8125be942bd5fd8fe851bad04ae6b9bcb0af4727
公开RCTFont尺寸覆盖 - https://github.com/facebook/react-native/commit/6611fefef7559c4cd3d1824235d263bff210d5e2
Android的具体变化
可口可乐现在播放声音 - https://github.com/facebook/react-native/commit/722f88ca9058c5d902c416b826a7a7ab347326b8
默认underlineColorAndroid为透明 - https://github.com/facebook/react-native/commit/a3a98eb1c7fa0054a236d45421393874ce8ce558
WebView默认禁用地理位置 - https://github.com/facebook/react-native/commit/23d61b35fb6fdbfb84f77b6d99ff155a0ff868e6
确保包含非法字符的cookie不会发送到okhttp - https://github.com/facebook/react-native/commit/04028bf2169b01f79bd86ecd6b0d8aa5f99599f1
更新应用图标以匹配最近的Android版本 - https://github.com/facebook/react-native/commit/94393f8652c414806fc861c214ad36e9ac1b6114
更好的错误讯息ReadableNativeMap- https://github.com/facebook/react-native/commit/30d06b42862fc5e8704e109db652d62f86f8eabc
将Fresco更新到v1.9.0,okhttp3更新到v3.10.0 - https://github.com/facebook/react-native/commit/6b07602915157f54c39adbf0f9746ac056ad2d13
为内嵌图标添加色调颜色 - https://github.com/facebook/react-native/commit/e8e2a6e4102c1ba0ee3d068769e47fa61c160524
修复抗锯齿圆角背景 - https://github.com/facebook/react-native/commit/7500b3ec839ada6d8e1f7a88d30743dfb0ad7e70
修正:已解决的错误
防止在打开模式时显示隐藏状态栏 - https://github.com/facebook/react-native/commit/076b1cea3563cae30e11d63cc100ceaed9082692
修复Perf Monitor启用时重新加载时的崩溃 - https://github.com/facebook/react-native/commit/4fcd9970bd2dfb24890bc87e9c82e16dab71ec09
修复远程调试器中的并发问题 - https://github.com/facebook/react-native/commit/e5aa5b7c508c5e0e51f7abfcee350e27bef24ba2
修复Modal + FlatList滚动 - https://github.com/facebook/react-native/commit/8799047dd0bc8dd93f05fa97d4b9a59f7dfeb324
修复RCTNetworking在无效期间并非所有任务/处理程序都被清除的错误- https://github.com/facebook/react-native/commit/b8051720344f3716e964eaf7cfdd2a91dc703602
修复键盘处理keyboardShouldPersistTaps: never- https://github.com/facebook/react-native/commit/ffe6c110f7ce33460fe0399ccbda16a6adbe90ca
修复响应者逻辑Text- https://github.com/facebook/react-native/commit/e2ce22b823661a7dcf6b70a825921a2910383bd1
修复VirtualizedSectionListlint警告 - https://github.com/facebook/react-native/commit/26a1eba1cef853b0dab7aad5731699c06d36b781
修复VirtualizedSectionList:ItemWithSeparators- https://github.com/facebook/react-native/commit/488a4c7e1c86ac5900ff9194106511fbf5a8e3cb
修复了TextInput初始布局测量 - https://github.com/facebook/react-native/commit/c6b4f9f2ce59bc757d9e211f46294faa03df55c6
修复requireNativeComponent检查 - https://github.com/facebook/react-native/commit/1c90a2b47b420a4b6aa16a55a344cc08f0eacbe3
修复TextInputautocapitalization bug - https://github.com/facebook/react-native/commit/ff70ecf868cf12fc66b45dc1496391d0a1e9011f
添加缺少的事件ViewPropTypes- https://github.com/facebook/react-native/commit/41a940392cea497bc5eb627b24083d0211d1eb89
添加缺少的Jest模拟StatusBarManager- https://github.com/facebook/react-native/commit/4a2c560768abb2d8407900fdb2fbe4971ae00a1c
为Metro模块添加流程声明 - https://github.com/facebook/react-native/commit/1853e1519030caaeeb7f31017d98823aa5696daf
修正类型ReactNative.NativeComponent(1/2) - https://github.com/facebook/react-native/commit/de11ba2a5ee90929dbc67d914de59bdd2ebc29ca
修正类型ReactNative.NativeComponent(2/2) - https://github.com/facebook/react-native/commit/752863629d63bca6d96a101bfeccc4e7ad3e953e
将图像PropTypes移至新文件 - https://github.com/facebook/react-native/commit/67656991b32075e8b4a99c6409b0a131206c6941
删除$ FlowFixMe TouchableBounce- https://github.com/facebook/react-native/commit/ffda0178509ed92396f15db37a41d3d668ade4e6
删除$ FlowFixMe ScrollView- https://github.com/facebook/react-native/commit/af6e2eb02d3651f869b5436e68e61ef3ab3405a0
删除$ FlowFixMe ListView- https://github.com/facebook/react-native/commit/af6e2eb02d3651f869b5436e68e61ef3ab3405a0
删除$ FlowFixMe Text- https://github.com/facebook/react-native/commit/6042592cf46787f089e76b661376705380607207
删除$ FlowFixMe RTLExample- https://github.com/facebook/react-native/commit/206ef54aa415e3e2bb0d48111104dfc372b97e0f
删除$ FlowFixMe AppContainer- https://github.com/facebook/react-native/commit/a956551af73cf785ee4345e92e71fd5b17c5644e
删除$ FlowFixMe Slider- https://github.com/facebook/react-native/commit/1615f9d16149c7082ce0e1485aa04a6f2108f7ba
测试:修复运行Jest时的JUnit报告位置 - https://github.com/facebook/react-native/commit/85fc98d437c08cdec883a73161e120478737ba72
测试:修复ReactImagePropertyTest SoLoader失败(#19607) - https://github.com/facebook/react-native/commit/a52d84d7e1cdb287f2877c4d85f2e9866c248d43
测试:在Windows上修正jest快照测试 - https://github.com/facebook/react-native/commit/216bce31632480ce70cc03b1b2a57ec12440afd7
iOS特定的修补程序
修复InputAccessoryView安全区域的性能 - https://github.com/facebook/react-native/commit/490f22ae72ba43fa9364ce0f6c238744c07ac830
修正在头文件中使用C ++语法 - https://github.com/facebook/react-native/commit/bfcfe7961db0970e2575eafe2f3c9c668bd8940d
运行时修复安装步骤run-ios- https://github.com/facebook/react-native/commit/0934c1778f0e3c0b691e1a3ca2df1d486eb905dd
修复了run-ios未启用模拟器 - https://github.com/facebook/react-native/commit/9736ddc061e9c4291df8a3185c7f9d6f73e435c7
为鱼钩使用正确的库参考。这修正了Xcode 9和Xcode 10上的新Xcode构建系统的构建 - https://github.com/facebook/react-native/commit/a8b74576da6f1a42fde4e39f97e88c8f45a3a51d
将缺少的onChange事件定义添加到DatePickerIOS- https://github.com/facebook/react-native/commit/3b53091869b673ea33a4af34242e2227ca944768
修复Xcode 9.3存档阶段的崩溃 - https://github.com/facebook/react-native/commit/344c205070d5ad670c97984dd86ec9ac13c73f81
RNTesterPods:添加缺少的愚蠢包括 - https://github.com/facebook/react-native/commit/128c9343c464f3e7898d6e245f135f8bdf6caa6a
RNTesterPods:愚蠢::可选的has_value(),以hasValue()直至愚蠢升级- https://github.com/facebook/react-native/commit/128c9343c464f3e7898d6e245f135f8bdf6caa6a
RNTesterPods:修复导入RCTTestAttributes.h- https://github.com/facebook/react-native/commit/128c9343c464f3e7898d6e245f135f8bdf6caa6a
RNTesterPods:修复conversions.h使用名称空间包括 - https://github.com/facebook/react-native/commit/128c9343c464f3e7898d6e245f135f8bdf6caa6a
修复或标记枚举转换浮出水面-Wenum-conversion- https://github.com/facebook/react-native/commit/b8f30db0ae21d5f96547702abbf50aefa93b1094
修复CocoaPods集成,无需DevSupport subspec - https://github.com/facebook/react-native/commit/c09d509c2b8a5a02701829e1f0ace8081ce64277
更新瑜伽来处理Xcode框架项目 - https://github.com/facebook/react-native/commit/cf036dbc7af16a8453c115372694dc51e8086fcf
修复Blob内存泄漏 - https://github.com/facebook/react-native/commit/122b3791ede095345f44666691aa9ce5aa7f725a
Android特定的修补程序
正确绘制路径的尺寸,同时做边框,修复模糊的边框 - https://github.com/facebook/react-native/commit/c5ca26a0e5c0660196300ee34d6007c63879611f
不通过额外的参数,以requireNativeComponent在.android.js文件- https://github.com/facebook/react-native/commit/a51e8b19cc4dc36dee42ac95278b883c06b2e40f
防止RefreshControl父母水平滚动时卡住 - https://github.com/facebook/react-native/commit/33ffa79a51d4db9ba69148861f2da304646175cd
防止由于不支持的省略号模式导致崩溃 - https://github.com/facebook/react-native/commit/85e33aaf908996e99220bff4a2bdbbdf7c0d12b0
修复okhttp3响应处理DevServerHelper- https://github.com/facebook/react-native/commit/56d48bd9ecd2d0f08625259121312531064a09f2
修复ReactInstanceManagerunmountApplication以支持ReactRootView回收 - https://github.com/facebook/react-native/commit/4a9b2a73021fb547febe1fa193c3effb7ff8da4e
NullPointerException使用UIManagerModule- https://github.com/facebook/react-native/commit/291c01f4ffe614760852e36b05d78b42cb4271df排除事件时进行修复
修复Android制作指南链接 - https://github.com/facebook/react-native/commit/57e7556b8db61e5fcc3ccea56c1b163b82a091a6
修复Android开源测试失败 - https://github.com/facebook/react-native/commit/3e0ebc76632238f21c60caa92c7a2b5ee8102b71
使用LayoutAnimation修复视图索引 - https://github.com/facebook/react-native/commit/d8fcdb9bd7a308ed70caeac1b53da0a05abe452f
修复originalNode内存泄漏 - https://github.com/facebook/react-native/commit/8102e35271ab68e0525a9c60d86a855bbeef9c1a
修正ScrollView了TextInput- https://github.com/facebook/react-native/commit/2f1421dec7cd3a35779caceac108e872033c7d72
处理程序未定义时禁用onKeyPRess逻辑 - https://github.com/facebook/react-native/commit/41975f75d96ef4b606b4618461bf24d5db063b77
已删除:已删除的功能; 这些都打破了
弃用focusTextInput和blurTextInput- https://github.com/facebook/react-native/commit/ce3b7b8204dad0fd62a76a0ce66472eca4b25bc8
Android特定的删除
删除本机扩展 - https://github.com/facebook/react-native/commit/7c5845a5a26592598c9380df078766a680a23f06
删除Fresco ProGuard规则 - https://github.com/facebook/react-native/commit/07df36557c8cbbaee5e870460162aa725a606ff4
iOS特定的删除
已移除已弃用的UIActionSheetDelegate方法 - https://github.com/facebook/react-native/commit/5863b564f84b9fe97b256f8cde0f7f2e1db9b641
关注小编 公众号:LearningTech 每日更新前端技术