Expo SDK v16.0.0 is now available – Exposition

Expo SDK v16.0.0 is now available  #react #reactnative #expo #reactjs

  • This release includes a lot of improvements so I’ll just get to it.Improvements to iOS Developer Tools in ExpoWe move away from the two-finger gesture to the standard React Native “rage shake” — you can use the old gesture by going to the Profile tab in Expo, then options.The Developer Menu and Expo Menu have been combined into one.Read more about this in the full post “Improvements to iOS Developer Tools in Expo”This opens the door for more improvements in the future, we’re really looking forward to it!React 16 alpha and peerDependenciesReact Native 0.43 depends on React 16 alpha.
  • Just give it an array of the keys your app cares about and it will copy their values from the old to the new store:import { LegacyAsyncStorage } from ‘expo’;// Before we read from or write to AsyncStorage, migrate them// Make sure this is inside of an async functionawait ‘item1’, ‘item2’, ‘item3’,]);If any of the items already have a value in the new store it will skip them so that it doesn’t overwrite new data.
  • Try it out in Native Component List, and read the API reference.ErrorRecoveryIf your app crashes in production with a fatal JS error, Expo will restart the app for you.
  • Respect orientation configuration correctly on iPads.Fix an issue with Universal Clipboard on iOS bothering you with alerts while using an Expo project.Add options screen on the profile tab on iOS, to pick which gesture you prefer to use to open the Expo Menu.Breaking changes in SDK v16.0.0If you use AsyncStorage on iOS you need to follow the steps described under “BREAKING: Scoped AsyncStorage on iOS” earlier in this document.Breaking changes in expo- validates options more strictly.
  • If you use this, read more in this commit.Upgrading your app to Expo SDK v16.0.0 from v15.0.0Close XDE or your exp CLI serverIn exp.json, change sdkVersion to “16.0.0”In package.json:- change react-native version to change expo version to “^16.0.0”- change react version to “16.0.0-alpha.6”- change @expo/ex-navigation version to “~2.10.0” (if you use it)- change jest-expo version to “~0.4.0” (if you use it)- delete your project’s node_modules directory and run npm installagain (or use yarn, we love yarn)Re-open XDE or exp and start your project once npm install from the previous step has completed.Update the Expo app on your phones from the App Store / Play Store.

Expo SDK 16.0.0 is based on the recently released React Native
0.43, “March”. This is a jump of 1 version of React Native; Expo
SDK 15.0.0 was based off of 0.42, “February”. React Native 0.43 depends…

@ReactDOM: Expo SDK v16.0.0 is now available #react #reactnative #expo #reactjs

Expo SDK 16.0.0 is based on the recently released React Native

0.43, “March”. This is a jump of 1 version of React Native; Expo

SDK 15.0.0 was based off of 0.42, “February”.

This release includes a lot of improvements so I’ll just get to it.

to see for yourself.

to not be within the acceptable version range.

We previously added support for this but because we depended on parsing log messages intended for human readers rather than the log events themselves directly, we often got ourselves into weird states. We added support for custom packager log reporters upstream and made sure all packager logs are reported as events, and now we’re able to provide a really solid packager logging experience for you — most noticeably with bundle progress. Perhaps other fun things in the future.

to the new SDK 16 one for a continuous user experience. We take your data seriously and don’t expect such migrations to be a common occurrence for future SDK releases.

which allows you to migrate old data into the new store with one method call. Just give it an array of the keys your app cares about and it will copy their values from the old to the new store:

If any of the items already have a value in the new store it will skip them so that it doesn’t overwrite new data. Sorry for this inconvenience!

If you need to query thousands of rows of local data, it’s probably best to avoid loading all of the data entirely into the JS VM and piping it through lodash functions. SQL is pretty good at that. It’s good at a lot of things. I’m not here to sell you on SQL but just to tell you that you can now use SQLite on your Expo projects if you want to.

Expo projects run on phones. Phones have microphones. With the latest improvements to the Expo Audio API, You can now use Expo to record audio from the microphone on your phone.

This API provides access to the system UI for selecting documents from the user’s device and integrated storage providers. Try it out in Native Component List, and read the API reference.

If your app crashes in production with a fatal JS error, Expo will restart the app for you. If the crash happens very quickly after loading, it will show a generic error screen. This module (currently iOS only) allows you to set props that will be passed into your app if it crashes with a fatal JS error in production, so you can bring the user back where they were, notify them, etc.

See this tutorial about handling errors and the ErrorRecovery API reference.

fields: [Contacts.EMAILS, Contacts.PHONE_NUMBERS],

pageSize: CONTACT_PAGE_SIZE,

pageOffset: this.state.page * CONTACT_PAGE_SIZE,

See a full example of paginating contacts here.

Expo SDK v16.0.0 is now available – Exposition