From f9be64aea05fe76dd93b72ec7e49e744988e0935 Mon Sep 17 00:00:00 2001 From: Tim Wang Date: Sat, 7 Oct 2017 17:17:09 -0700 Subject: [PATCH] Use UnimplementedView for CheckBox on iOS Summary: `CheckBox` component was introduced in v0.49.0 and not implemented on iOS. Users who are trying to use `CheckBox` on iOS will get a warning that > Native component for "AndroidCheckBox" does not exist We should declare in the document that this component is Android only and use `UnimplementedView` for iOS. - Use `react-native init` new project - Apply pull request changes - Add `` after welcome text in `App.js` - Run the app in iOS simulator Closes https://github.com/facebook/react-native/pull/16211 Differential Revision: D6005393 Pulled By: hramos fbshipit-source-id: 1c9b68b5e1c933496c4d7c2f487f0500264b603a --- .../CheckBox/{CheckBox.js => CheckBox.android.js} | 2 +- Libraries/Components/CheckBox/CheckBox.ios.js | 15 +++++++++++++++ website/server/docsList.js | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) rename Libraries/Components/CheckBox/{CheckBox.js => CheckBox.android.js} (98%) create mode 100644 Libraries/Components/CheckBox/CheckBox.ios.js diff --git a/Libraries/Components/CheckBox/CheckBox.js b/Libraries/Components/CheckBox/CheckBox.android.js similarity index 98% rename from Libraries/Components/CheckBox/CheckBox.js rename to Libraries/Components/CheckBox/CheckBox.android.js index 183cbafa9..bd69b0bed 100644 --- a/Libraries/Components/CheckBox/CheckBox.js +++ b/Libraries/Components/CheckBox/CheckBox.android.js @@ -27,7 +27,7 @@ type DefaultProps = { }; /** - * Renders a boolean input. + * Renders a boolean input (Android only). * * This is a controlled component that requires an `onValueChange` callback that * updates the `value` prop in order for the component to reflect user actions. diff --git a/Libraries/Components/CheckBox/CheckBox.ios.js b/Libraries/Components/CheckBox/CheckBox.ios.js new file mode 100644 index 000000000..02124a885 --- /dev/null +++ b/Libraries/Components/CheckBox/CheckBox.ios.js @@ -0,0 +1,15 @@ +/** + * Copyright (c) 2017-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @providesModule CheckBox + * @flow + * @format + */ +'use strict'; + +module.exports = require('UnimplementedView'); diff --git a/website/server/docsList.js b/website/server/docsList.js index 38dfab29b..5f714b854 100644 --- a/website/server/docsList.js +++ b/website/server/docsList.js @@ -12,7 +12,7 @@ const components = [ '../Libraries/Components/ActivityIndicator/ActivityIndicator.js', '../Libraries/Components/Button.js', - '../Libraries/Components/CheckBox/CheckBox.js', + '../Libraries/Components/CheckBox/CheckBox.android.js', '../Libraries/Components/DatePicker/DatePickerIOS.ios.js', '../Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js', '../Libraries/Lists/FlatList.js',