Nick Lockwood 7419a82bd7 Handle bad JSON data without crashing
Summary:
public
NSJSONSerialization throws an exception when it encounters bad JSON data, including NaN values, which may not be a programming error.

This diff adds code to catch those exceptions and convert to an error. Also, if no error handling is in place, RCTJSONStringify will now display a redbox, and attempt to recover by sanitizing the JSON data and retrying.

Reviewed By: javache

Differential Revision: D2854778

fb-gh-sync-id: 18e6990af0d91083496d6a0b75c31a94ed9454a5
2016-01-26 06:13:29 -08:00
..
2016-01-15 05:15:31 -08:00
2015-11-18 15:23:30 -08:00
2016-01-21 10:57:26 -08:00
2016-01-21 10:57:26 -08:00
2016-01-21 11:47:21 -08:00
2015-09-30 09:21:27 -07:00
2015-09-18 10:36:24 -07:00
2015-09-30 09:21:27 -07:00
2016-01-06 11:00:34 -08:00
2015-09-30 21:02:25 -07:00
2016-01-15 05:15:31 -08:00
2015-12-08 13:48:28 -08:00
2015-11-16 22:55:45 -05:00
2015-10-02 14:32:23 -07:00
2016-01-15 05:15:31 -08:00
2015-09-11 02:00:31 -07:00
2016-01-21 11:47:21 -08:00
2016-01-21 11:47:21 -08:00
2016-01-15 05:15:31 -08:00
2016-01-15 05:15:31 -08:00
2016-01-15 05:15:31 -08:00

UIExplorer

The UIExplorer is a sample app that showcases React Native views and modules.

Running this app

Before running the app, make sure you ran:

git clone https://github.com/facebook/react-native.git
cd react-native
npm install

Running on iOS

Mac OS and Xcode are required.

  • Open Examples/UIExplorer/UIExplorer.xcodeproj in Xcode
  • Hit the Run button

See Running on device if you want to use a physical device.

Running on Android

You'll need to have all the prerequisites (SDK, NDK) for Building React Native installed.

Start an Android emulator (Genymotion is recommended).

cd react-native
./gradlew :Examples:UIExplorer:android:app:installDebug
./packager/packager.sh

Note: Building for the first time can take a while.

Open the UIExplorer app in your emulator.

See Running on Device in case you want to use a physical device.

Built from source

Building the app on both iOS and Android means building the React Native framework from source. This way you're running the latest native and JS code the way you see it in your clone of the github repo.

This is different from apps created using react-native init which have a dependency on a specific version of React Native JS and native code, declared in a package.json file (and build.gradle for Android apps).