0.27 正式版發(fā)布
不兼容的修改
-
移除 NavigationLegacyNavigator (ef44781) - @hedgerwang
NavigationLegacyNavigator 原來是用于幫助人們?cè)诓桓膭?dòng)API的情況下遷移到新的導(dǎo)航庫。這會(huì)使得我們不得不把那些不必要的舊API也全部遷移到新的導(dǎo)航庫中。
考慮到在產(chǎn)品中使用NavigationLegacyNavigator是不應(yīng)該的,所以我們決定移除掉它,并會(huì)在將來把原來的Navigator改名為NavigatorDeprecated。
-
移除 NavigationExperimental Containers (14eb427) - @ericvicenti
- NavigationExperimental中的容器并不建議使用,因?yàn)閼?yīng)用的狀態(tài)應(yīng)當(dāng)被應(yīng)用的架構(gòu)所管理,譬如使用redux、flux或者組件狀態(tài)。
這個(gè)提交把樣例修改為使用組件狀態(tài)來保存的,不過也有其他很多例子用來展示如何使用NavigationAnimatedView和redux的導(dǎo)航器reducer。:
https://github.com/jlyman/RN-NavigationExperimental-Redux-Example
Switching the f8 app with redux to navigation experimental: fbsamples/f8app#14
- NavigationExperimental中的容器并不建議使用,因?yàn)閼?yīng)用的狀態(tài)應(yīng)當(dāng)被應(yīng)用的架構(gòu)所管理,譬如使用redux、flux或者組件狀態(tài)。
-
移除 NavigationView (c3714d7) - @hedgerwang
- 使用<NavigationView /> 沒有明顯的作用,并且維護(hù)起來非常麻煩。它的功能完全可以通過創(chuàng)建一個(gè)關(guān)閉了切換動(dòng)畫的NavigationAnimatedView來實(shí)現(xiàn)。它還可以被一個(gè)單純的View和一個(gè)普通的場(chǎng)景渲染器來替代。
新特性與增強(qiáng)
- Animated: 實(shí)現(xiàn)了Animated的toJSON方法 (17f0807) - @wusuopu
修復(fù)BUG:使用“檢查元素”功能查看動(dòng)畫組件時(shí)會(huì)產(chǎn)生報(bào)錯(cuò)。
- 讓 RefreshControl 正確的被JS控制(9aa37e8) - @janicduplessis
修復(fù)BUG:在controlled component來控制RefreshControl時(shí),狀態(tài)顯示錯(cuò)誤
- 增加SwipeableListView (052cd7e 9b1a3c7 2a7f6ae) - @fred2028
看起來像是一個(gè)每一個(gè)項(xiàng)目都可以被左滑以展示功能菜單的View
- 為NavigationAnimatedView的場(chǎng)景渲染器增加transition屬性。 (55c3086<) - @hedgerwang
為新導(dǎo)航器增加transition屬性
讓BugReporting支持自定義的源文件 (610cfdc) - @lexs
給元素檢查器增加"Open file"(打開文件)按鈕 (f203c5d) - @frantic
使你可以直接在元素檢查器中點(diǎn)擊元素,在電腦上直接查看對(duì)應(yīng)的文件
- 給react-native的babel預(yù)配置集合增加插件 transform-react-jsx-source (858643d) - @frantic
這個(gè)插件往JSX里增加了標(biāo)記信息,用于識(shí)別元素所對(duì)應(yīng)的源代碼位置。
- 分支 NavigationAnimatedView為 NavigationTransitioner (<tt>7db7f78</tt>) - @hedgerwang
這個(gè)新組件和原來的NavigationAnimatedView類似,稍后會(huì)廢棄屌原來的NavigationAnimatedView。
不同之處:移除了屬性applyAnimation,添加了新屬性configureTransition, onTransitionStart和 onTransitionEnd。
- 將rnpm合并到react-native包中 (149d0b9) - @grabbou
這在將來可以用于解決各種rnpm與react-native的版本不兼容問題。
BUG修復(fù)
- 在初始化react實(shí)例的時(shí)候阻塞對(duì)JS模塊的調(diào)用(a1ba091) - @astreet
修復(fù)NavigationCard的屬性類型檢查。 (b1cd1cb) - @hedgerwang
修復(fù)RefreshControl的訪問沖突(fbce30) - @janicduplessis
NavigationExperimental: didFocus 事件應(yīng)當(dāng)在動(dòng)畫結(jié)束之后再調(diào)用。 (8975bb8) - @hedgerwang
修復(fù)當(dāng)初次渲染RefreshControl就要求刷新的時(shí)候并沒有開始刷新的問題。(cac5ce3) - @aforty
修復(fù)NavigationPropTypes.SceneRenderer是一個(gè)普通對(duì)象的問題(0e997c6) - @joenoon
現(xiàn)在拆分了SceneRenderer和SceneRendererProps,解決了類型檢查時(shí)候?qū)е碌膯栴}。
- 解決 SwipeableRow 的顯示問題 (5146775) - @fred2028
默認(rèn)的icon size會(huì)導(dǎo)致拉出的圖片溢出到SwipeableRow之上。現(xiàn)在所有的樣式都必須由調(diào)用者傳入,由調(diào)用者自行控制相關(guān)的尺寸來達(dá)到最佳適應(yīng)。
解決了95%的WindowedListView亂跳的問題 (5e91a2a) - @sahrens
解決了SwipeableRow在Android下閃爍和在iOS下晃動(dòng)的問題(62e588b) - @fred2028
解決ListView的onChangeVisibleRows所匯報(bào)的行數(shù)不正確的問題(0aea74e) - @dmueller39
安卓
新特性與增強(qiáng)
為HorizontalScrollView增加pagingEnabled屬性 (a3146e4) - @dmmiller
開源的SwipeRefreshLayoutRecordingModule (457e348) - @bestander
實(shí)現(xiàn)了TextInput的returnKeyType/returnKeyLabel (dd8caf4) - @Bhullnatik
為RefreshControl增加了 progressViewOffset屬性 (<tt>f7ce0c1</tt>) - @UnoDeTantos
現(xiàn)在可以通過屬性來禁用/鎖定Android下ViewPager的滑動(dòng) (<tt>31250ad</tt>) - @kevinejohn
解決當(dāng)React Context還未初始化完畢時(shí)點(diǎn)擊RootView時(shí)的訪問沖突問題。(fd37666) - Olivier Notteghem
為ScrollView增加FpsListener (b67d4a2) - Nathan Spaun
現(xiàn)在還沒有實(shí)際作用不過將來這個(gè)將被用于記錄和跟蹤滾動(dòng)條的滾動(dòng)性能。
升級(jí)到OkHttp3 (6bbaff2) - @AndrewJack
解決 NetworkingModule 構(gòu)造時(shí)添加攔截器(interceptors)時(shí)出現(xiàn)的問題 (921d0de) - @bestander
當(dāng)忘記執(zhí)行react-native start的時(shí)候,提示更友好的信息(c634ea](https://github.com/facebook/react-native/commit/bc634ea35044c84295904a6bb5f04e2d52ba688e)) - @codeheroics
BUG修復(fù)
修復(fù)通過Controlled模式使用Android Picker時(shí)的問題 (0cd2904>) - @spicyj
使得Modal彈框時(shí)的狀態(tài)欄保持沉浸式 (191d278) - @jemise111
為較老的Android設(shè)備增加React隊(duì)列所允許的棧大小 (d4f6f61) - @nikki93
在發(fā)送觸摸時(shí)間時(shí)攜帶時(shí)間戳信息,以使得反饋更為準(zhǔn)確 (f2c1868) - @dmmiller
iOS
新特性與增強(qiáng)
- NavigatorIOS: 導(dǎo)出了interactivePopGestureEnabled屬性 (4d2c72b) - @rigdern
該屬性可以禁用左滑返回上一頁。
使得root view 的背景顏色更為明確(fa5d1fe) - @shaneosullivan
在IOSImagePicker的回調(diào)返回圖片的寬高 (df40f48) - @thans
使得<Text>標(biāo)簽內(nèi)可以內(nèi)嵌View (fe5c0d2) - @rigdern
為紅屏增加“復(fù)制棧”的功能 (5047f6f) - Chris Evans
BUG修復(fù)
修復(fù)了LocationObserver的distanceFilter緩存問題(2310494) - @jrichardlai
ScrollView: 觸發(fā)onScroll事件時(shí)現(xiàn)在總是會(huì)發(fā)送最終的滾動(dòng)位置(deef8aa) - @rigdern
當(dāng)設(shè)置了scrollEventThrottle時(shí),以前的版本并不保證最終的位置能被發(fā)送。
修復(fù)了在Image loader的數(shù)組中包含nil會(huì)導(dǎo)致崩潰的問題 (ed1ee9b) - @nicklockwood
隱藏軟鍵盤時(shí)使用了正確的動(dòng)畫函數(shù)(03edc75) - @rigdern
修復(fù) NativeEventListener注銷的問題 (516bf7b) - @nicklockwood
0.26 正式版發(fā)布
新功能
- 升級(jí)至react15.0.2
- 支持在WebSockets中發(fā)送和接收二進(jìn)制數(shù)據(jù)
- 在CLI中添加--version
- 在react-native bundle 中添加--reset-cache 重置文件緩存
- 為js文件添加encode格式/哈希簽名
Bug修復(fù)
- 修復(fù)潛在的“Should never unset includeInLayout”不變
- 修正初始場(chǎng)景渲染NavigationExperimental
- 修正了modalbox不正確的布局
- 修復(fù)ART模式中畫邊距bug
- 使用相對(duì)路徑時(shí),修復(fù)獲取文件錯(cuò)誤bug
- 本地修復(fù)流程定義
- 去掉尺寸固定視圖導(dǎo)出的常數(shù)
- 修復(fù)package.json腳本里使用的react native CLI
- 修正WebSocket兼容性
- 修復(fù)JSWatchdog復(fù)位
- 修復(fù)Animated的setValue在native正常工作
- 固定路徑再生運(yùn)行時(shí)
- 修復(fù)HMR預(yù)設(shè)
ANDROID版
新功能
- 添加ViewPager禁用滾動(dòng)的能力
- 添加揭露從Java同步JS的能力
- 添加從文件系統(tǒng)加載Boost庫的選項(xiàng)
- 添加Animated.add支持原生動(dòng)畫
- 添加支持setChildren
Bug修復(fù)
- 通過不再承擔(dān)修復(fù)崩潰的AdsManager只有一個(gè)反應(yīng)上下文存在一次
- 修正使用彈出窗口引起的崩潰
- 修復(fù)事件冒泡機(jī)制
- 修復(fù)setFontWeight方法的NullPointerException
- 修復(fù)mapView 的IndexOutOfBoundsException
- 修復(fù)PullRefreshViewAndroid中未定義引用bug
- 修復(fù)事件冒泡出來機(jī)制
- 修復(fù)ReactNativeART繪弧圖bug
- 修復(fù)TextInput 的ClassCastException異常
- 修復(fù)textShadowOffset沒有寬度或高度錯(cuò)誤
IOS版
重大更改
- 為所有簽入的項(xiàng)目添加標(biāo)志“-lc ++”
新功能
- 添加在LayoutAnimation可以刪除動(dòng)畫
- 調(diào)度本地通知時(shí)支持添加圖標(biāo)數(shù)量和警報(bào)措施的支持
Bug修復(fù)
- 解決應(yīng)用程序在啟動(dòng)過程中死鎖
- 修復(fù)RCTJavaScriptContextCreatedNotification
- 修復(fù)CJK TextInput 自動(dòng)完成模式
- 修正了未設(shè)置文本大小造成RCTShadowText返回一個(gè)無限的高度bug
- 修復(fù)ookieMap在RCTJSCExecutor導(dǎo)致內(nèi)存泄漏bug
- 修復(fù)與HTTP返回301時(shí)圖像顯示無響應(yīng)
- 修正了紅盒子按一個(gè)堆棧幀無法打開,編輯
0.25 正式版發(fā)布
重大變更
在react-native中引用React的做法發(fā)生了變更(在當(dāng)前版本老的做法會(huì)提出警告,如何屏蔽警告點(diǎn)這里。在下一版本將會(huì)報(bào)錯(cuò)):
之前
import React, { Component, View } from 'react-native';
現(xiàn)在
import React, { Component } from 'react';
import { View } from 'react-native';
具體哪些屬于React,哪些屬于React Native,可以參考這篇帖子(需要科學(xué)上網(wǎng))。
我摘錄如下:
"react":
- Children
- Component
- PropTypes
- createElement
- cloneElement
- isValidElement
- createClass
- createFactory
- createMixin
"react-native":
- hasReactNativeInitialized
- findNodeHandle
- render
- unmountComponentAtNode
- unmountComponentAtNodeAndRemoveContainer
- unstable_batchedUpdates
- View
- Text
- ListView
- ...
- 以及其他所有的原生組件。
新功能
- 添加支持JavaScript的第三方調(diào)試器
- 添加WindowedListView頁腳包裝
- 添加了支持缺少XHR的響應(yīng)-
- 添加用于預(yù)讀遠(yuǎn)程圖像Image.prefetch的緩存
- 添加ES2015函數(shù)到babel的變換 - 855c0cc
- 添加重新加載非QWERTY鍵盤模擬器說明
- 添加使用XMLHttpRequest Android和iOS時(shí)超時(shí)處理函數(shù)onTimeout
棄用
- 棄用警告ReactNative.addons
- 廢棄區(qū)分web與移動(dòng)程序的警告
Bug修復(fù)
- 添加刷新控制非空檢查 - eac617d
- 修復(fù)HMR在窗口不響應(yīng)bug
- 修復(fù)了PanResponder bug
- 修復(fù)導(dǎo)航標(biāo)題會(huì)阻止觸摸左邊控件bug
- 修復(fù)本地圖像從node_modules獲取
- 修正了熱模塊重載的邊緣情況 - 41576ea
- 修復(fù)UIExplorer示例頁面的警告 - 528cf68
- 修復(fù)PERF標(biāo)簽缺少key警告 - b7a3272
- 修正了導(dǎo)航切換太快導(dǎo)致的手勢(shì)丟失 - ca2fb70
- 解決邊界半徑/背景的傳播問題,例如井字游戲 - 97f60ad
- 修正彈窗同時(shí)關(guān)閉/打開引發(fā)的沖突 - 7354ff3
- 修復(fù)ImageEditingManager沒有外部緩存bug - fffcb9c
- 修復(fù)RefreshControl刷新狀態(tài) - 93b39b7
ANDROID版
新功能
- 增加了在Android textDecorationLine風(fēng)格支持
- 增加了對(duì)Android上的圖像的圓角半徑的支持 - 69534a3
Bug修復(fù)
- 修復(fù)DrawerLayoutAndroid方法的參數(shù) - d66b944
- 修復(fù)DrawerLayoutAndroid無法設(shè)置不透明度 - 7851572
- 修正了removeClippedSubviews和TextInput問題 - 89340f1
- 添加支持的WebSocket協(xié)議 - 914f33c
- 修復(fù)RUN_JS_BUNDLE記錄系統(tǒng)路徑的報(bào)告- 2d0051f
- 修復(fù)promise參數(shù)必須在該方法最后一位bug - e27a27b
IOS版
新功能
- 新增的高速緩存中的ios端到端測(cè)試打包
Bug修復(fù)
- 修正了在iOS UIExplorer 圖像示例 - a10c1b5
- 添加缺少RCTConvert導(dǎo)入時(shí)的警告 - db25ab4
- 修復(fù)ios手勢(shì)交替導(dǎo)致不響應(yīng)bug - 8efc098
- 修復(fù)pod導(dǎo)入不正確庫錯(cuò)誤 - ef044e2
- 從修復(fù)pull請(qǐng)求導(dǎo)致CSS布局的變化 - 7a1b072
0.24 正式版發(fā)布
重大更新
- 安卓默認(rèn)不再包含Stetho 3c488af
- iOS移除RCTBridgeModuleClassIsRegistered a16771c
- ScrollView移除內(nèi)部使用的sendMomentumEvents屬性。
- StyleSheetRegistry更名為ReactNativePropRegistry,這個(gè)模塊是私有的,因此它不應(yīng)該影響那些使用RN的公共接口 433fb33
新特性
- NavigationExperimental的增強(qiáng) (by@hedgerwang:)
- pagers的動(dòng)畫和手勢(shì) 4f8668b
- 在 NavigationCardStack和NavigationAnimatedView中使用相同的動(dòng)畫(spring庫)07697d1
- 減少NavigationHeader的額外渲染 62e80a6
- 實(shí)驗(yàn)性的WindowedListView組件,對(duì)于屏幕外的列表項(xiàng)使用占位符渲染以提高性能,但它不是ListView的替代品 cd79e26
文檔的一些改進(jìn)
Bug修復(fù)
- 在分析工具里面使用monotonic clock替代現(xiàn)在的時(shí)間函數(shù) ac03c47
- 各種熱模塊的重載修復(fù) 98411f1,51b5423
- 修復(fù)視圖在列布局的時(shí)候不垂直拉伸 #2724,d957570
- 在.flowconfig文件中使用semver,能讓您在沒有更新.flowconfig文件的情況下使用打補(bǔ)丁版本的Flow #6767
ANDROID
新特性
- 初步支持原生UI線程的代理動(dòng)畫命令,由@kmagiera設(shè)計(jì)和實(shí)現(xiàn),由@brentvatne測(cè)試和重要的反饋,以及@astreet和@vjeux全面的代碼審查。這個(gè)實(shí)現(xiàn)的還不完全,但是最終會(huì)讓Navigation的動(dòng)畫從繁重的JS線程中解放出來 #6466
現(xiàn)在在Modal不使用onRequestClose屬性將會(huì)提示警告 ce81f8b - 振動(dòng)模式 e20e8a3
- DrawerLayoutAndroid增加了一個(gè)新的屬性 statusBackBackgroundColor,可以讓DrawerLayoutAndroid覆蓋在安卓原生的toolbar上。具體效果可以到PR#6218查看屏幕截圖
- ScrollView增加了一個(gè)新的屬性endFillColor,當(dāng)視圖的大小比scrollView的content大的時(shí)候,可以設(shè)置一種顏色填充剩余的scrollView。這是一個(gè)高級(jí)的性能優(yōu)化,您可以在使用之前先測(cè)試性能。4498bc8
- TextInput現(xiàn)在支持selectTextOnFocus屬性。 #6654
- 在批處理結(jié)束之前創(chuàng)建視圖以提高性能。 6a3b334
- ReadableArray 和 ReadableHashMap 現(xiàn)在定義了 toArrayList 和 toHashMap 便利方法 #6639, ,#6762
- 從BackAndroidhardwareBackPress返回true 停止調(diào)用之前注冊(cè)的函數(shù)和系統(tǒng)默認(rèn)的動(dòng)作 67efe4c (恢復(fù)為 ede99ee)
Bug修復(fù)
- 修復(fù)嵌套滾動(dòng)視圖的矩形裁剪計(jì)算。 e8e3182
- 不取消NativeRunnable構(gòu)造函數(shù)使用ProGuard 393890e
- 修復(fù)Genymotion中的獲取source maps 6c22a21
- 防止在嵌套TouchableNativeFeedback組件情況下,父視圖的觸發(fā)狀態(tài)作用到子視圖。 #6783
IOS
新特性
- 開源FBPortForwarding組件(一個(gè)類似于adb reverse,可以代理設(shè)備和你的電腦之間的網(wǎng)絡(luò)請(qǐng)求),RN沒集成他,如果你有需要 FBPortForwarding : c4699d8
- ActionSheetIOS增加一個(gè)新的message選項(xiàng)。#6685
Bug修復(fù)
- 為了遵循事件的先后順序,特別是觸摸和滾動(dòng)事件,修復(fù)本地事件的合并將他們傳給JS的時(shí)候。當(dāng)所有的事件可以被合并的時(shí)候,他們將會(huì)盡快的處理,而不是等待下一個(gè)JS結(jié)構(gòu)。一些不同來自于@majak: a496baa,a37075d,cefc5a6,7c2b397,b1b53aa,1d3db4c(恢復(fù)于144dc30 , 恢復(fù)和修復(fù)于02b6e38), 31bb85a
- 為了線程安全,鎖住對(duì)flow ID map訪問:2be42ab
- 在-[RCTJSExecutor invalidate]中停止JS run loop替代原來在dealloc中停止,可以保證它在JS線程中被停止。99c7de2
- 阻止dev菜單當(dāng)重置模擬器的方向。 6765
- 增加dev工具的超時(shí)時(shí)間 b00c77a
- 當(dāng)需要跳到超過32MiB的profiling trampoline中的時(shí)候,使用間接跳轉(zhuǎn)以支持更大的二進(jìn)制文件。 2f27039
- 讓SliderIOS保留觸摸響應(yīng)狀態(tài)。52ddfd9
0.23 正式版發(fā)布
高層變更
新特性
- packager日志支持靜默選項(xiàng) - d5445d5
- 當(dāng)promise拒絕時(shí)可以通過console.error輸出 - f87b673
- 增加了更多的性能日志,增強(qiáng)了Systrace支持 - f6853b8
- 使用NavigationExperimental初步重構(gòu) Navigator - fa5783e
- 增加<Incremental>組件用于增量渲染 - f21da3a
BUG修復(fù)
- 更新node-haste,替換fast-path用來修復(fù)windows兼容問題 - fd816b1
- 修正BUG#5604 - 未確認(rèn)的可觸碰信號(hào)將不在屏幕上顯示 - d637621
- 更新Layout.c修正彈性布局bug - 6c5195f
- 在解析依賴之前進(jìn)行代碼轉(zhuǎn)換 - 9d09efd
- 通過 bezier-easing庫重構(gòu)bezier(更快更精確的實(shí)現(xiàn)) - b5985cf
- 內(nèi)聯(lián) __accept 調(diào)用以便source maps可以和HMR正常工作 - bcb37c0
安卓
新特性
- Modal現(xiàn)在支持Android了
- TextView增加之前缺失的textAlignVertical支持 - d20bde3
- DrawerLayoutAndroid增加evevation支持 - 61483aa
- 安卓增加JS壓縮設(shè)置選項(xiàng) - 1f94a00
- run-android命令現(xiàn)在可以在所有連接的設(shè)備上運(yùn)行app - 10ad47a
- JS多上下文支持 - 872b697
- JS perf API現(xiàn)在可以使用了 - 6e3710f
BUG修復(fù)
- 修正當(dāng)置空安卓工具欄之后無法設(shè)置工具欄logo的bug - 8aa83a2
- 增加安卓狀態(tài)欄高度常量,改進(jìn)了實(shí)現(xiàn) - 18f38ec
- 修正事件分發(fā)器時(shí)間戳排序的bug - f5a3490
- 修正當(dāng)負(fù)的width參數(shù)傳遞給RCTText的measure屬性時(shí)崩潰的bug - c42fc61
- 修正當(dāng)狀態(tài)欄半透明,鍵盤打開時(shí),textinput沒有正常滾動(dòng)的bug - c76523f
- 修正refactored bridge代碼中Race條件的bug - 0cb7d16
IOS
新特性
- 增加預(yù)解析緩存和IOS8 JSC Stringref
- Text組件增加lineBreakMode屬性
- RCTImageView增加失去焦點(diǎn)效果
BUG修復(fù)
- 修復(fù)固定頭部點(diǎn)擊處理的BUG - 688bb17
- 更新AppState支持不活躍的狀態(tài) - ec9efb8
0.22 正式版發(fā)布
新特性
- React Native 0.22帶來Hot Reloading(調(diào)試時(shí)不刷新熱替換)特性!
- ListView支持自定義的ScrollView實(shí)現(xiàn)
- UIExplorer中引入了NavigationExperimental(新的Navigation庫可以使UIExplorer導(dǎo)航變的更靈活)
- Touchable* 組件中增加了disabled屬性
- 增加了NavigationCardStack組件(可以使一列NavigationCard動(dòng)起來的基本實(shí)現(xiàn))
- Animated組建增加了取余(%)運(yùn)算符
- 對(duì)packager增加消息通道,來向橋(2 / N)發(fā)送命令
- 在packager中添加新的worker來進(jìn)行代碼轉(zhuǎn)換,優(yōu)化和依賴處理
- NavigationCardStack中增加手勢(shì)處理
- 對(duì)傳統(tǒng)導(dǎo)航器增加數(shù)據(jù)結(jié)構(gòu)來處理?xiàng)?/li>
Bug修復(fù)
- 解決了當(dāng)粘性的頭部索引超出范圍時(shí),renderSeparator組件定義但返回null的問題
- 修復(fù)了生產(chǎn)資源的變量名問題(圖片資源應(yīng)該被發(fā)布到其他文件夾,而不是js bundle文件夾)
- 修復(fù)了當(dāng)傳遞null到clearimmediate時(shí)的崩潰問題
- 修復(fù)了DevTools的WebSocket的指數(shù)增長(zhǎng)問題
ANDROID
新特性
- 增加了使用CSS技巧來創(chuàng)建三角形的功能
- 增加了scalesPageToFit
- 對(duì)Picker onValueChange的回調(diào)方法增加了position參數(shù)
- 對(duì)run-android命令增加了root選項(xiàng)
- 在event中,用nanoTime替代了currentTimeMillis
- 給DrawerLayoutAndroid組件增加了drawerLockMode屬性
- WebWorkers: 在從workers調(diào)用或者被workers調(diào)用的本地原生路由中添加ExecutorToken
- 給android的input text組件添加blurOnSubmit屬性
- 增加內(nèi)存壓力監(jiān)聽接口
- 給react-native run-android命令添加選項(xiàng),例如react-native run-android --option-flavor=staging
- 增加ReactCompoundViewGroup接口來允許同時(shí)擁有虛擬和非虛擬(View)的子組件
Bug修復(fù)
- 修復(fù)了破碎的drawer layout組件
- 廢棄了PullToRefreshViewAndroid方法并把它從網(wǎng)站doc中移除了
- 解決了當(dāng)退出app時(shí),隱身的StatusBar再次出現(xiàn)的問題
- 修復(fù)了當(dāng)使用透明度時(shí)的android的image組件的tintColor屬性
- 修復(fù)了Image.android.js的參數(shù)檢查
- 修復(fù)了bridge中的死鎖
- 修復(fù)了WebSocketModule的IllegalStateException崩潰
IOS
新特性
- 給本地通知的細(xì)節(jié)添加了category和alertAction屬性
- 給Picker onValueChange的調(diào)用增加了position的屬性
- 支持了通過ios的共享列表來分享圖片和其他媒體
- 增加了對(duì)屏幕、窗口或個(gè)人視圖的快照支持
- 增加Add UIManager.measureInWindow來得到窗口坐標(biāo)
- 給Linking.getInitialURL()增加了通用鏈接(universal links)
Bug修復(fù)
- 修復(fù)了帶有粘性頭部的ListView+RefreshControl的問題
- 修復(fù)RCTPerfMonitor的展示單元的問題
- 修復(fù)了ios的WebView栗子
- 修復(fù)了不透明縮略圖會(huì)被給一個(gè)阿爾法通道的問題(使用ImageEditor剪裁圖片時(shí)會(huì)給出一個(gè)阿爾法通道,即使它是不透明的)
- 修復(fù)了RefreshControl總是旋轉(zhuǎn)并且不刷新的問題
- 修復(fù)了定位精度和緩存位置的問題
0.21 正式版發(fā)布
安卓項(xiàng)目更新的重要說明:
我們簡(jiǎn)化了Android代碼的發(fā)布——二進(jìn)制文件現(xiàn)在也和JS以及Obj-C代碼一樣發(fā)布到npm倉庫了。這意味著你必須運(yùn)行react-native upgrade來更新安卓的編譯文件(.gradle)。
新特性
- 添加了一個(gè)新的實(shí)驗(yàn)性的導(dǎo)航組件NavigationExperimental
- 開啟Hot Module Replacement(模塊實(shí)時(shí)刷新)
- 網(wǎng)站文檔現(xiàn)在可以切換版本
- 用String.prototype.includes方法替代了String.prototype.contains
- 改進(jìn)了Chrome調(diào)試器的性能
- 為Touchable系列組件添加了accessibility屬性
- 當(dāng)Node版本小于4時(shí),給出更明確的警告
- 為地理定位API增加距離過濾選項(xiàng)
- dataSource更新時(shí)不再自動(dòng)渲染過多的行
- 可以通過指定refresh=true來載入RefreshControl
- 支持?jǐn)?shù)字形式的顏色值
- 調(diào)用immediatelyResetRouteStack時(shí)重渲染整個(gè)導(dǎo)航欄
- 在NavigationExperimental中支持后退按鈕
- 使用onWillFocus和onDidFocus`時(shí)不再警告
- 模塊會(huì)根據(jù)transform的選項(xiàng)來決定是否緩存
- 添加deprecatedCallback輔助函數(shù)
- TouchableHighlight在沒有綁定press事件時(shí)不再顯示底層顏色
- 在NetInfo中添加監(jiān)聽函數(shù)時(shí),返回卸載函數(shù)
- 添加Linux的新手指南
- 在文檔中使用ES6 import代替require
- Packager: Remove unused support for asynchronous dependencies 7c03b16
- Added two new apps to showcase (Choke and MyPED) 0f850b4 272096c
Bug修復(fù)
- 在React調(diào)試插件能正常工作前不再提示安裝
- 修復(fù)inspector顯示的樣式值
- 修復(fù)multiGet的一個(gè)bug
- 添加缺失的Chilren.toArray方法
- 修復(fù)StyleInspector的key警告
ANDROID
新特性
- 添加Dimension.get('screen')
- BackAndroid.addEventListener現(xiàn)在返回對(duì)應(yīng)的卸載函數(shù)
- 為AlertDialog添加.setItems()
- 緩存圖片資源id
- 在getDisplayMetrics中使用新的DisplayMetrics對(duì)象
- 在下載js bundle時(shí)提供更明確的錯(cuò)誤信息
- WebWorkers: Pass bridge to JS executors cf7a97c
- 現(xiàn)在可以為單個(gè)角設(shè)定圓角
- 遷移Android artifacts到npm
- 添加Object.getPropertyNames() 和 Object.toJSONMap
- 崩潰時(shí)正確格式化異常
- 在發(fā)布版本時(shí)去除devsupport
- 從文件讀取腳本時(shí),在sourceURL中添加'file://'前綴
Bug修復(fù)
- 修復(fù)ReactProp和ReactPropGroup的proguard模板
- 修復(fù)滾動(dòng)視圖和RefreshControl的問題
- Fix race in Catalyst tests 294185a
- Snapshot BackAndroid event listeners while an event is dispatched 9040315
- 修復(fù)icon處理邏輯
- 修復(fù)"POST has no body"
IOS
新特性
- 在原生和js代碼屬性對(duì)不上時(shí)(一般因?yàn)楦乱穑o出給明確的提示
- 多行文本框現(xiàn)在支持textAlign
- Expose flow events to JS + add JS -> Native flows c00049c
- 現(xiàn)在可以監(jiān)聽和取消本地通知
- 圖片解碼限制為2個(gè)線程
- systrace中JS async始終設(shè)為top線程
Bug修復(fù)
- 添加ShadowPropTypesIOS文檔
- 修復(fù)XMLHttpRequest.abort()
- Fix promises on iOS to no longer wrap values in Arrays c9a1956
0.20 正式版發(fā)布
本版本有個(gè)bug導(dǎo)致無法正常運(yùn)行,請(qǐng)參閱此貼修復(fù) http://bbs.reactnative.cn/topic/208
新特性
- 為WebSocket添加了一個(gè)可選的option參數(shù)
- 統(tǒng)一不同來源的圖片的解碼和縮放邏輯
- 相冊(cè)API現(xiàn)在使用promise
- 剪切板(Clipboard)現(xiàn)在也使用promise,并對(duì)回調(diào)的用法提示警告
- 編譯js bundle時(shí)使用數(shù)字標(biāo)識(shí)符來區(qū)分模塊
- 為packager添加ETag緩存處理
- 文本輸入框現(xiàn)在支持自動(dòng)縮放
- 開源Android版的日期與時(shí)間拾取器(Picker)
- 添加跨平臺(tái)的Linking模塊
- 添加跨平臺(tái)的Picker模塊
- 重構(gòu)顏色處理邏輯
- 跨平臺(tái)的狀態(tài)欄API
- 定制"babel-preset-reat-native"
- packager現(xiàn)在支持非圖片資源
- 為Touchable系列組件添加accessibility屬性
Bug修復(fù)
- 文本輸入框在selectionState狀態(tài)下也應(yīng)調(diào)用blur和focus方法
- 修復(fù)了默認(rèn)的日志記錄等級(jí),以改進(jìn)默認(rèn)的錯(cuò)誤處理
- 修正了黃屏警告的計(jì)數(shù)錯(cuò)誤
- 修復(fù)了TouchNativeFeedback的一個(gè)問題,現(xiàn)在ripple效果可以正確從用戶的觸摸點(diǎn)開始
- 使packager能夠使用babel的嚴(yán)格模式轉(zhuǎn)換
- 為RCTUtils添加nullability標(biāo)注
- 正確綁定Touchable.js的setTimeout
- 修復(fù)transform: {perspective: 0}引起的崩潰
- 改進(jìn)文檔中樣式屬性的顯示
- breaking test and fix for browser field mapping from package to file - 191b692
- 修復(fù)元素審查器生成的警告
- 導(dǎo)航欄透明時(shí)禁用右側(cè)按鈕
- 修復(fù)graceful-fs的bug
- 現(xiàn)在可以為ColorPropTypes指定更精確的限制描述以及isRequired
- 修復(fù)淺依賴(shallow dependency)的一個(gè)bug
- 重構(gòu)ScrollView.scrollTo()API,使其參數(shù)結(jié)構(gòu)更清晰
ANDROID
新特性
- 在CatalystInstance接口中導(dǎo)出setGlobalVariable方法
- Android版的AppState
- 為圖片添加overlayColor屬性
- 開源<ImageEditor>, <ImageStore>組件
- 為ViewPagerAndroid添加onPageScrollStateChanged事件
- 現(xiàn)在支持自定義的縮放類型
- 更新Android的ScrollView.scrollTo接口,使其與JS/iOS相匹配
- 為Android WebView添加headers屬性
- 為Android TextInput添加selectionColor屬性
- 為Android ScrollView添加scrollEnabled屬性
Bug修復(fù)
- 針對(duì)不同架構(gòu)編譯時(shí),不再生成通用的APK
- 修復(fù)Android TextInput中textAlign的樣式問題
- reactTagForTouch方法不再觸發(fā)空指針異常
- 修復(fù)由于圖片的uri不正確導(dǎo)致的崩潰
- 修復(fù)每個(gè)XHR連接的超時(shí)時(shí)間設(shè)置
- 修復(fù)timing初始化的bug
- 修復(fù)在RecyclerViewBackedScrollView計(jì)算Y軸偏移量的bug
- 顯示設(shè)備尺寸時(shí)使用getRealMetrics方法
- 修復(fù)在使用軟鍵盤或硬件鍵盤時(shí),鍵盤處理方法沒能正確過濾字符的問題
- Android ScrollView中現(xiàn)在可以自定義refreshControl
- 修復(fù)removeClippedSubviews和視圖折疊相關(guān)的bug
- 修復(fù)在Android上使用refreshControl時(shí),scrollTo方法的bug
IOS
新特性
- 添加了可以取消RCTTouchHandler 的API
- 嵌在Text中的圖片現(xiàn)在可以正確設(shè)置寬高了
- 為觸摸事件添加3dTouch屬性
- 為ScrollView添加indicatorStyle屬性
- 添加慣性滾動(dòng)的開關(guān)屬性
- 在MapView的標(biāo)注失去或得到焦點(diǎn)時(shí),增加相應(yīng)的回調(diào)事件
- websocket現(xiàn)在可以在請(qǐng)求中攜帶cookie了
- 為TextInput添加tintColor屬性
Bug修復(fù)
- 修復(fù)iPhone6+上的屏幕尺寸bug
- RCTGzipData() 可以接受nil輸入,但沒有標(biāo)記為可能返回空結(jié)果
- 修復(fù)當(dāng)視圖非原生時(shí),RCTNavigator.m中的錯(cuò)誤
- 改進(jìn)3D Touch的實(shí)現(xiàn),并添加了示例
- 修復(fù)當(dāng)RefreshControl在刷新時(shí),列表中的粘性頭部滾動(dòng)的位置問題
- 限制showCompass屬性的使用(需要iOS9+)
0.19 正式版發(fā)布
本版本有個(gè)bug導(dǎo)致無法正常運(yùn)行,請(qǐng)參閱此貼修復(fù) http://bbs.reactnative.cn/topic/208
新特性
- 為L(zhǎng)istView添加scrollTo方法
- 添加followUserLocation屬性,用于在地圖上持續(xù)跟蹤用戶的位置變化
- 添加一個(gè)選項(xiàng),用于決定在某個(gè)模塊無法解析時(shí),是否拋出異常
- 現(xiàn)在支持promise的異常捕獲
- 現(xiàn)在可以從XMLHttpRequest 獲取服務(wù)器返回的具體地址
- 對(duì)ScrollResponder的scrollResponderZoomTo方法添加了第二個(gè)參數(shù),用于決定是否開啟動(dòng)畫
- 對(duì)Navigator的configureScene方法添加第二個(gè)參數(shù)routeStack,用于查看路由棧
- 添加PixelRatio.pixel()方法,返回允許繪制的最細(xì)的寬度
- 為WebView添加onLoading系列屬性事件
- 為Android和iOS添加XHR的超時(shí)設(shè)置
Bug修復(fù)
- 修復(fù)resolver中的lint警告
- 在wrong-react-native腳本中返回正確的退出代碼
- 在transform管道線中正確傳遞異常
- 修復(fù)packager的緩存錯(cuò)誤
- 修復(fù)TouchableNativeFeedback中的background警告
- 在PushNotificationsIOS中添加手工鏈接相關(guān)的文檔
- 修復(fù)在iOS中,Navigator替換了第一個(gè)場(chǎng)景卻不更新的問題
- 在無法正確調(diào)用node的前提下不會(huì)再嘗試調(diào)用npm
- 修復(fù)了ListView中的一些臨界值導(dǎo)致的bug
- 在沒有變換(transform)需要執(zhí)行時(shí),不再執(zhí)行內(nèi)部變換
- 修復(fù)Windows上的'Error: spanw npm ENOENT'問題
- 修復(fù)把navigationBar設(shè)為null時(shí)引起的錯(cuò)誤
- FormData現(xiàn)在可以支持非字符串和非對(duì)象的值
- 修復(fù)了FormData只能附加字符串或帶有uri屬性的對(duì)象的問題
- 修復(fù)了在windows上調(diào)用編輯器會(huì)導(dǎo)致紅屏的問題
- 修復(fù)滾屏?xí)r的偏移計(jì)算錯(cuò)誤
- 修復(fù)命令行工具的"sourcemap-output"選項(xiàng)
- 對(duì)XHR的onReadyStateChange方法默認(rèn)綁定this
ANDROID
新特性
- 新增AppState組件
- 新增和iOS接口一致的Picker組件
- 開啟WebView的調(diào)試功能
- WebWorkers:新的NativeRunnable的c++接口
- WebWorkers:添加JSLoader API,用于根據(jù)AssetLoader引用從資源中讀取腳本
- 為L(zhǎng)istView添加stickyHeaderIndices
- 為@ReactProp 添加標(biāo)注預(yù)處理
- 為Android的TextInput添加onSelectionChange
- 允許取消DevServer的刷新請(qǐng)求
- 現(xiàn)在可以針對(duì)不同架構(gòu)(arm, x86)編譯
- android現(xiàn)在支持alert()方法
- react.gradle中現(xiàn)在支持Build Variants
- 開源Spinner組件(又稱Picker或是下拉菜單)
- 為ReactHorizontalScrollView添加removeClippedSubviews
Bug修復(fù)
- 如果jsbundle是從assets目錄中讀取的,則會(huì)讀取內(nèi)置的圖片等資源,否則讀取和jsbundle同目錄的資源(這個(gè)大概修復(fù)了打包后圖片不顯示的問題?)
- Java exception snprintf off by one – 0b15418
- 修復(fù)proguard開啟時(shí)導(dǎo)致的編譯和運(yùn)行時(shí)錯(cuò)誤
- ProgressBarAndroid: styleAttr的默認(rèn)值
- 當(dāng)不在開發(fā)模式下時(shí),不創(chuàng)建DevSupportManager
- 修復(fù)使用屏幕軟鍵盤時(shí),onTextInput回調(diào)的end值
- 修復(fù)WebView的重復(fù)加載
- 修復(fù)行內(nèi)圖片文本尺寸不正確的問題
- 支持對(duì)任何類型的視圖設(shè)置陰影
- 使用Buck來編譯React Native
- 修復(fù)給ViewPagerAndroid傳遞空子節(jié)點(diǎn)時(shí)導(dǎo)致的崩潰
- 增加wroker-farm的超時(shí)時(shí)間
- 移除Android Switch組件的固定尺寸
重大變更
- WebView中的屬性不再帶有平臺(tái)后綴
- 更改了onDropViewInstance方法的構(gòu)型
IOS
新特性
- Wait for JSExecutor to tear down in RCTBridgeTests – 8772a6a
- 添加react-native run-ios命令
- 在UIlocalNotification中添加soundName設(shè)置
- 添加了phone-pad類型的鍵盤
Bug修復(fù)
- 現(xiàn)在iOS7中也支持URL的查詢方法了
- 重新開啟testUnderlyingBridgeisDeallocated
- 修復(fù)RCTModuleData中一個(gè)潛在的死鎖問題
- 改進(jìn)空url的處理邏輯
- Fix extra native modules missing bridge after reload – 0fa1f8d
- 更新profiler中的createView方法
- 修復(fù)多行TextInput不折行的問題
- 修復(fù)info.plist中NSLocationAlwaysUsageDescription被忽略的問題
- ActionSheetIOS現(xiàn)在可以在modal中使用
- 改善陰影性能
- 在加載失敗時(shí)立即終止js executor
重大變革
- 在iOS上實(shí)現(xiàn)Android的dispatchViewManagerCommand接口
- 將測(cè)試代碼遷移到iOS9.2 / Xcode 7.2上
- 禁止背景色樣式的繼承,文本節(jié)點(diǎn)除外
0.18.0-rc版發(fā)布
正式版有一個(gè)bug無法正常運(yùn)行參照http://bbs.reactnative.cn/topic/208
新特性
- 更新React等依賴
- ListView現(xiàn)在支持onLayout和onContentSizeChange屬性
- Animated.multiply和Animated.add現(xiàn)在可以支持多個(gè)動(dòng)畫值
- 新的跨平臺(tái)的PullToRefreshView組件
- <Text>現(xiàn)在支持陰影了
Bug修復(fù)
- ImmediatelyResetRouteStack現(xiàn)在可以正確更新Navigator的標(biāo)題
- pop()方法現(xiàn)在可以正確刷新navigatorBar
- 修復(fù)由TextInput引起的應(yīng)用崩潰
- 修復(fù)把navigationBar設(shè)為null時(shí)引起的錯(cuò)誤
- 在transform管道線中正確傳遞異常
ANDROID
新特性
- 現(xiàn)在支持自定義的Android視圖
- 現(xiàn)在支持onScrollBeginDrag/End和onMomentumScrolBegin/End事件
- 添加一個(gè)基礎(chǔ)活動(dòng)類ReactActivity
- 為IntentAndroid添加getInitialURL方法,以獲取調(diào)起當(dāng)前app的深度鏈接
- 為ToolbarAndroid添加contentInsetStart和contentInsetEnd屬性
- WebView現(xiàn)在可以控制本地存儲(chǔ)的開啟與關(guān)閉
- 開源ART組件(一個(gè)繪圖庫)
- 現(xiàn)在可以針對(duì)不同架構(gòu)(arm, x86)編譯
- android現(xiàn)在支持alert()方法
Bug修復(fù)
- 修復(fù)了當(dāng)視圖位于屏幕外且被裁切移除時(shí),調(diào)用measure方法會(huì)引起崩潰的問題
- 修復(fù)了當(dāng)WebView跳轉(zhuǎn)新地址且認(rèn)為加載完成時(shí),報(bào)告的仍然是舊地址的問題
- 修復(fù)了開發(fā)者菜單中“檢查元素”選項(xiàng)的文本狀態(tài)變化
- 修復(fù)由于缺乏網(wǎng)絡(luò)權(quán)限導(dǎo)致NetInfo崩潰的問題
- 修復(fù)WebView無法顯示UTF-8字符的問題
IOS
新特性
- MapView現(xiàn)在可以使用自定義的視圖來做標(biāo)注
- MapView現(xiàn)在支持可拖拽的標(biāo)注
- SliderIOS現(xiàn)在可以設(shè)置最小值和最大值的軌道背景圖
- 現(xiàn)在支持虛線式(dashed)和點(diǎn)式(dotted)的邊框樣式
- WebSocket現(xiàn)在支持二進(jìn)制數(shù)據(jù)類型 (ArrayBuffer)
- 為Image添加getSize()方法,用于在顯示圖片前獲得圖片的尺寸
- 添加了一個(gè)方法用于獲取當(dāng)前狀態(tài)欄的高度
Bug修復(fù)
- 修復(fù)getCurrentPosition
- 修復(fù)<Image source={{ uri: null }} />會(huì)導(dǎo)致崩潰的問題
- iOS7下現(xiàn)在可以正確獲取url參數(shù)了
重大變更
- 現(xiàn)在要在Android WebView中開啟JavaScript支持的話,要使用javaScriptEnabled屬性,而不再是javaScriptEnabledAndroid
0.17正式版發(fā)布
高層變更
- 添加Android WebView
- 新的Alert API,同時(shí)支持iOS和Android
- 用js封裝UIManager原生模塊,以實(shí)現(xiàn)更好的抽象性
- 暴露一個(gè)全局變量navigator.product,用來判斷當(dāng)前js的運(yùn)行環(huán)境是否是React Native。webpack的用戶請(qǐng)注意,由于這一特性需要讀取json文件,因此你可能需要用到j(luò)son-loader
- 修復(fù)Windows 10上打包失敗的問題
- 修復(fù)在Navigator中通過ref拿不到navigationBar的引用的問題
- 現(xiàn)在Babel支持for-of循環(huán)的轉(zhuǎn)換了
- 修復(fù)了packager沒有正確處理assetRoots參數(shù)的問題
- 修復(fù)了inspect無狀態(tài)組件會(huì)引起崩潰的問題
- 在iOS和Android上添加了新的剪貼板組件。之前在iOS上叫做RCTPasteboard
- 修復(fù)了在windows上使用require("./image")的問題
ANDROID
- 開源SwipeRefreshLayoutAndroid組件,可用于豎直方向手勢(shì)刷新(例子)
- JSC profiler現(xiàn)在可以指定文件輸出
- 通過使用Android特定的elevation屬性實(shí)現(xiàn)了視圖陰影。但只能在Android 5.0+上使用。
- 現(xiàn)在圖片支持onLoad系列事件
- Android的單元測(cè)試代碼現(xiàn)已開源
- 現(xiàn)在支持給FrescoModule傳遞ImagePipelineConfig,以改進(jìn)Fresco的可配置性
- 現(xiàn)在開始實(shí)驗(yàn)性地支持LayoutAnimation,但暫時(shí)需要通過UIManager.setLayoutAnimationEnabledExperimental手動(dòng)開啟
- 修復(fù)了變換過(transformed)的視圖會(huì)在原位置接受觸控的問題
- 現(xiàn)在支持NetInfo
- ToolbarAndroid現(xiàn)在支持從右到左的文字方向RTL (right-to-left)
- Image現(xiàn)在添加了loadingIndicatorSrc屬性,類似于iOS的defaultSource,用于在loading時(shí)先顯示點(diǎn)加載提示
- 為ReactPropGroupAdded添加了double類型
- 為視圖添加了rotateX和rotateY變換
IOS
- 修復(fù)TextInput中包含富文本時(shí)出現(xiàn)的一些詭異的滾動(dòng)問題
- SliderIOS現(xiàn)在可以使用自定義圖片
- MapView的標(biāo)注現(xiàn)在可以使用自定義的顏色和圖片
- MapView現(xiàn)在支持折線段:你可以在兩點(diǎn)間使用自定義的顏色和寬度來繪制線段
- 添加didSetProps回調(diào),它會(huì)在你為視圖設(shè)置props之后調(diào)用
- 修復(fù)了多行 TextInput的onFocus/onBlur事件
- 通過添加另一種實(shí)現(xiàn)修復(fù)了MapView在iOS 8中崩潰的問題
- 為ActionSheetIOS添加了excludedActivityTypes
- 為AlertIOS添加了secure-text和login-password的輸入類型。同時(shí)修復(fù)了取消按鈕的高光樣式,以及OK/Cancel按鈕對(duì)應(yīng)的本地化表達(dá)
- 為多行TextInput添加了blurOnSubmit屬性,它模擬了在單行文本框中按回車鍵的行為
- 修復(fù)了TextInput在iOS 8及更低版本系統(tǒng)中的一些問題
- 修復(fù)了嵌套ScrollView中的滾動(dòng)問題
- TabBarIOS現(xiàn)在可以以字符串的形式指定systemIcon
- LinkingIOS現(xiàn)在支持通用鏈接
- PickerIOS現(xiàn)在支持style屬性,可以自定義字體大小、顏色和對(duì)齊方式
- ActionSheetIOS的按鈕現(xiàn)在可以指定tintColor
重大變更
- RCTRootView的initialProperties屬性已被移除
- UIManager不再支持Scrollview
- iOS的原生模塊bridge.modules現(xiàn)已過時(shí),請(qǐng)使用bridge.moduleClasses或bridge moduleForName/Class。這一變更是為了實(shí)現(xiàn)原生模塊的懶加載(lazy-loading),提升效率
- PullToRefreshLayoutAndroid組件現(xiàn)已更名為PullToRefreshViewAndroid
0.16正式版發(fā)布
JS
- 添加了一些輔助函數(shù),以修復(fù)Babel 6在import語法邏輯上的變化
- 現(xiàn)在可以使用For-of語法
- 使Babel 6插件也能支持ES6模塊
ANDROID
- 添加了PullToRefreshViewAndroid組件
- 為Android視圖添加了陰影效果
- 現(xiàn)在對(duì)于transformed view可以正確處理觸控操作(應(yīng)該是修復(fù)了scrollable tab view一類第三方組件的問題)
0.16.0-rc版發(fā)布
高層變更
- RGBA顏色值現(xiàn)在支持縮寫方式(比如'rgba(255,0,0,0.5)'可以寫為'#f007')
- Babel升級(jí)到版本6
- Array.from方法現(xiàn)在作為兼容接口(polyfill)提供了,即在任何運(yùn)行環(huán)境中均可使用
ANDROID
- Android現(xiàn)在支持自定義的字體了,但僅限ttf和otf格式
- ViewPager現(xiàn)在可以使用setPageWithoutAnimation來禁用動(dòng)畫了
- TextView中現(xiàn)在支持圖片了,比如表情(emoji)
- 添加了性能分析器Systrace的使用文檔
IOS
- TextInput添加了keyboardAppearance屬性,可以用來顯示深色背景的鍵盤
- 本地存儲(chǔ)接口AsyncLocalStorage添加了內(nèi)存緩存
- TextInput現(xiàn)在支持onSelectionChange事件
- iOS現(xiàn)在支持min/maxWidth以及min/maxHeight樣式屬性
- 發(fā)布了RCTPasteboard組件,用來操作剪貼板
可能引起不兼容的變更
- Android上的觸控事件得到的坐標(biāo)現(xiàn)在和iOS一致了
- 默認(rèn)啟用YellowBox
- 升級(jí)到Babel 6 。雖然我們?cè)贔acebook內(nèi)部已經(jīng)試用了相當(dāng)長(zhǎng)一段時(shí)間的Babel 6, 但如果你碰到任何與Babel相關(guān)的錯(cuò)誤,比如某些JS特性的轉(zhuǎn)換并不符合預(yù)期,請(qǐng)報(bào)告給我們,我們會(huì)盡快修復(fù)。
- 在Babel合并T2645補(bǔ)丁之前,你還無法使用Decorator特性。
- 由于Babel暫時(shí)的一個(gè)bugT2694,export default class Foo extends Bar語句無法使用(現(xiàn)階段你可以把class聲明和export聲明分兩行寫)。
- RCTSparseArray現(xiàn)在由NSDictionary代替了。有用到RCTSparseArray的模塊請(qǐng)盡快更新。
移除RCTWebViewExecutor
0.15正式版發(fā)布
0.15 正式版更新日志(在rc版的基礎(chǔ)上)
- 安卓現(xiàn)在可以支持地理定位
- IntentAndroid組件開源發(fā)布。從此可以在安卓上打開系統(tǒng)瀏覽器或是調(diào)用其他App了。
- Android的網(wǎng)絡(luò)請(qǐng)求現(xiàn)在可以保存cookie了。
0.15 rc版更新日志
- 現(xiàn)在ReactNative基于React 0.14了。關(guān)于這件事,React 0.14更新日志值得一讀。
- Android下,橫豎屏切換不會(huì)再重啟App了
- iOS增加了富文本輸入(RichText)的支持
- 在兩個(gè)平臺(tái)上都改善了報(bào)錯(cuò)彈窗(紅屏)的提示。
- Android下支持了systrace(一個(gè)Android性能調(diào)優(yōu)工具)