React-Native v0.29-rc 发布
jopen 8年前
<p style="text-align: center;"><img alt="" src="https://simg.open-open.com/show/dccc9890e84dd9577c35752a1d6967ac.png" /></p> <p>React Native 使你能够使用基于 JavaScript 和 React 一致的开发体验在本地平台上构建世界一流的应用程序体验。React Native 把重点放在所有开发人员关心的平台的开发效率上——开发者只需学习一种语言就能轻易为任何平台高效地编写代码。非死book 在多个应用程序产品中使用了 React Native,并将继续为 React Native 投资。</p> <p>React-Native 做了什么:</p> <ul> <li>React-Native 丢弃了 Webview。</li> <li>复用React,将 Dom 结构de改变通过 diff 算法处理后,由 js 传递给 native 进行底层视图布局。</li> <li>css-layout引擎,前端可以继续写熟悉的 css 语法,由引擎转化成 oc 底层的布局。</li> <li>对 js 暴露底层常用的 UI 组建。js 层可以直接对这些组件进行布局</li> </ul> <h2>更新日志</h2> <h3>重大更改</h3> <h3>General</h3> <ul> <li>Kill NavigationReducers (<a href="/misc/goto?guid=4958991713363593224">3a8b50a</a>) - <a href="/misc/goto?guid=4958990511313125485">@hedgerwang</a></li> <li>NavigationExperimental - Clean up NavigationStateUtils (<a href="/misc/goto?guid=4958991713526104651">67002e8</a>) - <a href="/misc/goto?guid=4958990511313125485">@hedgerwang</a> <ul> <li>Remove the logic that lets NavigationStateUtils accept empty value as input and return a new state.</li> <li>Remove the method <code>NavigationStateUtils.getParent</code>, <code>NavigationStateUtils.set</code>.</li> </ul> </li> <li>NavigationExperimental - Remove prop <code>onNavigate</code> (<a href="/misc/goto?guid=4958991713649165975">fb0007d</a>) - <a href="/misc/goto?guid=4958990511313125485">@hedgerwang</a></li> </ul> <h3>Android</h3> <ul> <li> <p>Add <code>ReactInstanceHolder</code> (<a href="/misc/goto?guid=4958991713775993272">49f20f4</a>) - <a href="/misc/goto?guid=4958991713873044574">@foghina</a></p> <p><strong>Migration instructions</strong></p> <ol> <li>Create a new file <code>MainApplication.java</code> in the same folder as <code>MainActivity.java</code></li> <li>Update it to match - <a href="/misc/goto?guid=4958991713991995779">https://github.com/非死book/react-native/blob/0.29-stable/local-cli/generator-android/templates/package/MainApplication.java</a> and move your customisations from <code>MainActivity.java</code> to this file</li> <li>Update <code>MainActivity.java</code> to match - <a href="/misc/goto?guid=4958991714093354584">https://github.com/非死book/react-native/blob/0.29-stable/local-cli/generator-android/templates/package/MainActivity.java</a></li> <li>Add <code>android:name=".MainApplication"</code> in the <code><application /></code> section of <code>AndroidManifest.xml</code>. It should now look like,</li> </ol> <pre> <application + android:name=".MainApplication" android:allowBackup="true" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:theme="@style/AppTheme"></pre> <p>The experience might vary according to the level of customization you've made. Check this commit to see how UIExplorer and MoviesApp were migrated - <a href="/misc/goto?guid=4958991714206514702">dcc2abc</a></p> </li> <li>Remove support for password property and only use secureTextEntry (<a href="/misc/goto?guid=4958991714315946108">f3507f9</a>) - <a href="/misc/goto?guid=4958990514563014587">@dmmiller</a></li> <li>Remove the Profiler Option in RN Android Dev Menu (<a href="/misc/goto?guid=4958991714465058538">4b19db3</a>) - <a href="/misc/goto?guid=4958991714568290791">@lebronJ</a></li> </ul> <h3>iOS</h3> <ul> <li>Automatically clip subviews when <code>removeClippedSubviews</code> prop is used (<a href="/misc/goto?guid=4958991714670633177">1048e5d</a>) -<a href="/misc/goto?guid=4958879035739540392">@nicklockwood</a></li> <li>Remove deprecated methods from StatusBarIOS (<a href="/misc/goto?guid=4958991714813267217">4de616b</a>) - <a href="/misc/goto?guid=4958991714926654571">@javache</a></li> </ul> <h3>General</h3> <h3>Bug修复</h3> <ul> <li>Fix left button moving in instead of fading in in NavigationBar (<a href="/misc/goto?guid=4958991715036789448">8731494</a>) - <a href="/misc/goto?guid=4958991715164675476">@dragonwong</a></li> <li>Fix incorrect import reference for <code>emptyFunction</code> in <code>SwipeableListView</code> (<a href="/misc/goto?guid=4958991715260775697">2fd537c</a>) - <a href="/misc/goto?guid=4958991715364311028">@glawson</a></li> <li>Fix onLayout support in <code><TextInput></code> (<a href="/misc/goto?guid=4958991715469246467">92926f9</a>) - <a href="/misc/goto?guid=4958991715571617915">@paulshen</a></li> <li>Don't clobber user-defined environment variables (<a href="/misc/goto?guid=4958991715683807367">402e7ea</a>) - <a href="/misc/goto?guid=4958991715781387386">@vkarpov15</a></li> <li>Fix polyfillLazyGlobal to work with allowTopLevelThis = false (<a href="/misc/goto?guid=4958991715890862382">f9e26b3</a>) - <a href="/misc/goto?guid=4958990511927130042">@janicduplessis</a></li> </ul> <h3>新功能和增强功能</h3> <ul> <li>Show stacktrace in YellowBox (<a href="/misc/goto?guid=4958991716034189979">8d03857</a>) - <a href="/misc/goto?guid=4958991716138311727">@skv-headless</a></li> <li>Add <code>StyleSheet.absoluteFill</code> convenience constant (<a href="/misc/goto?guid=4958991716245621402">e79f5d7</a>) - <a href="/misc/goto?guid=4958990514121734188">@sahrens</a></li> <li>Changed version of React dependency to ~ (<a href="/misc/goto?guid=4958991716388964972">592d5fb</a>) - <a href="/misc/goto?guid=4958990514729794886">@bestander</a></li> <li>Open sourced KeyboardAvoidingView (<a href="/misc/goto?guid=4958991716536507107">8b78846</a>) - <a href="/misc/goto?guid=4958879035739540392">@nicklockwood</a></li> <li>Allow CameraRoll to export videos (<a href="/misc/goto?guid=4958991716679259571">7357ccc</a>) - <a href="/misc/goto?guid=4958991716813988748">@corbt</a></li> <li>Clear Debug Console on Reload JS (<a href="/misc/goto?guid=4958991716948412332">b03a725</a>) - <a href="/misc/goto?guid=4958991717076942010">@yungsters</a></li> <li>Make InteractionManager tasks cancellable (<a href="/misc/goto?guid=4958991717206296540">be09ccc</a>) - <a href="/misc/goto?guid=4958990514121734188">@sahrens</a></li> <li>Add support for reverse flex directions on Android and iOS (<a href="/misc/goto?guid=4958991717358258971">d43e0db</a>) - <a href="/misc/goto?guid=4958991717496022388">@feichngr</a></li> <li>Add support for <code>lineBreakMode</code> prop on <code><Text></code> (<a href="/misc/goto?guid=4958991717629421051">c03b166</a>) - <a href="/misc/goto?guid=4958991716138311727">@skv-headless</a></li> <li>Fix an issue where scrollview wouldn't unclip its cells (<a href="/misc/goto?guid=4958991717775531902">1fcd73f</a>) - <a href="/misc/goto?guid=4958991717908719158">@majak</a></li> <li>Make module IDs deterministic when bundling (<a href="/misc/goto?guid=4958991718040131792">62bb09d</a>) - <a href="/misc/goto?guid=4958973479630044699">@davidaurelio</a></li> </ul> <h3>Android</h3> <h3>Bug修复</h3> <ul> <li>Enable Double R shortcut to reload JS when redbox is shown (<a href="/misc/goto?guid=4958991718221345793">4959b21</a>) - <a href="/misc/goto?guid=4958991714568290791">@lebronJ</a></li> <li>Fix deletion layout animations to work with custom view managers (<a href="/misc/goto?guid=4958991718376396570">49a5fe4</a>) - <a href="/misc/goto?guid=4958990513239771728">@astreet</a></li> <li>Fix crash when Modal is displayed as a result of touch handling code (<a href="/misc/goto?guid=4958991718544668934">837aafd</a>) - Olivier Notteghem</li> <li>Properly validate layout animation config (<a href="/misc/goto?guid=4958991718671329829">d4e7c8a</a>) - <a href="/misc/goto?guid=4958990511927130042">@janicduplessis</a></li> <li>Fix potential NPE in layout animation deletion code (<a href="/misc/goto?guid=4958991718826052632">bb9ed2d</a>) - Olivier Notteghem</li> <li>Fix bug where UIOperations aren't executed after hosting Activity is paused (<a href="/misc/goto?guid=4958991718949983882">eef03fd</a>) - <a href="/misc/goto?guid=4958990513239771728">@astreet</a></li> <li>Remove iOS platform check for running devtools (<a href="/misc/goto?guid=4958991719113558224">1b40db7</a>) - <a href="/misc/goto?guid=4958991719238532683">@kageurufu</a></li> <li>Fix dialogmodule crashing with no fragment manager in onHostResume (<a href="/misc/goto?guid=4958991719371645831">bf79352</a>) - <a href="/misc/goto?guid=4958991713873044574">@foghina</a></li> </ul> <h3>新功能和增强功能</h3> <ul> <li>Open source permissions module (<a href="/misc/goto?guid=4958991719511272683">b7352b4</a>) - <a href="/misc/goto?guid=4958991719636664401">@andreicoman11</a></li> </ul> <h3>iOS</h3> <h3>Bug修复</h3> <ul> <li>Fixed bug where layoutSubviews was called continuously for scrollview (<a href="/misc/goto?guid=4958991719772918664">329c716</a>) -<a href="/misc/goto?guid=4958879035739540392">@nicklockwood</a></li> <li>Explicitly set default background color in RCTTextView (<a href="/misc/goto?guid=4958991719927021730">1fce891</a>) - <a href="/misc/goto?guid=4958991720054758971">@bnham</a></li> <li>Fixed MapView's draggable annotation (<a href="/misc/goto?guid=4958991720177301247">993a928</a>) - <a href="/misc/goto?guid=4958991720306903797">@nathanajah</a></li> <li>Handle the case where redirect URL is relative (<a href="/misc/goto?guid=4958991720426597191">39eca05</a>) - <a href="/misc/goto?guid=4958991720563548458">@maartenschumacher</a></li> <li>Fix unbale to scroll in image cropper (<a href="/misc/goto?guid=4958991720686163364">13dfb62</a>) - Wenjing Wang</li> <li>Correctly passes localNotification to app on wakeup (<a href="/misc/goto?guid=4958991720820289683">57d4523</a>) - <a href="/misc/goto?guid=4958991716813988748">@corbt</a></li> </ul> <h3>新功能和增强功能</h3> <ul> <li>Add <code>getScheduledLocalNotifications</code> (<a href="/misc/goto?guid=4958991720963165753">5b4b027</a>) - <a href="/misc/goto?guid=4958991721087437207">@joshuapinter</a></li> <li>Implement CSS z-index for iOS (<a href="/misc/goto?guid=4958991721210254446">d64368b</a>) - <a href="/misc/goto?guid=4958879035739540392">@nicklockwood</a></li> <li>Add support for native animations on iOS (<a href="/misc/goto?guid=4958991721358358382">19e2388</a>) - <a href="/misc/goto?guid=4958991721488554241">@buba447</a></li> <li>Prevent images from flickering when component is reloaded (<a href="/misc/goto?guid=4958991721614674058">c8f39c3</a>) - <a href="/misc/goto?guid=4958879035739540392">@nicklockwood</a></li> <li>Implemented automatic IP detection for iOS (<a href="/misc/goto?guid=4958991721751704430">8c29a52</a>) - <a href="/misc/goto?guid=4958991720306903797">@nathanajah</a></li> <li>Support {min,max}{Width,Height} on RCTView (<a href="/misc/goto?guid=4958991721899828469">78b8929</a>) - <a href="/misc/goto?guid=4958991714926654571">@javache</a></li> </ul> <h2>下载</h2> <ul> <li><a href="/misc/goto?guid=4958991722020705856" rel="nofollow"><strong>Source code</strong> (zip)</a></li> <li><a href="/misc/goto?guid=4958991722140109950" rel="nofollow"><strong>Source code</strong> (tar.gz)</a></li> </ul> <h2> </h2>