View#importantForAccessibility

androidimportantForAccessibility enum('auto', 'yes', 'no', 'no-hide-descendants') Controls how view is important for accessibility which is if it fires accessibility events and if it is reported to accessibility services that query the screen. Works for Android only. See http://developer.android.com/reference/android/R.attr.html#importantForAccessibility for references. Possible values: 'auto' - The system determines whether the view is important for accessibility - default (recommended). 'ye

ListViewDataSource#constructor()

constructor(params) You can provide custom extraction and hasChanged functions for section headers and rows. If absent, data will be extracted with the defaultGetRowData and defaultGetSectionHeaderData functions. The default extractor expects data of one of the following forms: { sectionID_1: { rowID_1: <rowData1>, ... }, ... } or { sectionID_1: [ <rowData1>, <rowData2>, ... ], ... } or [ [ <rowData1>, <rowData2>, ... ], ... ] The constructor takes in a para

AsyncStorage.multiRemove()

static multiRemove(keys, callback?) Delete all the keys in the keys array. Returns a Promise object. Example: let keys = ['k1', 'k2']; AsyncStorage.multiRemove(keys, (err) => { // keys k1 & k2 removed, if they existed // do most stuff after removal (if you want) });

ActionSheetIOS.showShareActionSheetWithOptions()

static showShareActionSheetWithOptions(options, failureCallback, successCallback) Display the iOS share sheet. The options object should contain one or both of message and url and can additionally have a subject or excludedActivityTypes: url (string) - a URL to share message (string) - a message to share subject (string) - a subject for the message excludedActivityTypes (array) - the activites to exclude from the ActionSheet NOTE: if url points to a local file, or is a base64-encoded uri

ToolbarAndroid#contentInsetStart

contentInsetStart number Sets the content inset for the toolbar starting edge. The content inset affects the valid area for Toolbar content other than the navigation button and menu. Insets define the minimum margin for these components and can be used to effectively align Toolbar content along well-known gridlines.

Platform Specific Code

When building a cross-platform app, the need to write different code for different platforms may arise. This can always be achieved by organizing the various components in different folders: /common/components/ /android/components/ /ios/components/ Another option may be naming the components differently depending on the platform they are going to be used in: BigButtonIOS.js BigButtonAndroid.js But React Native provides two alternatives to easily organize your code separating it by platform: Pl

PanResponder.create()

static create(config) @param {object} config Enhanced versions of all of the responder callbacks that provide not only the typical ResponderSyntheticEvent, but also the PanResponder gesture state. Simply replace the word Responder with PanResponder in each of the typical onResponder* callbacks. For example, the config object would look like: onMoveShouldSetPanResponder: (e, gestureState) => {...} onMoveShouldSetPanResponderCapture: (e, gestureState) => {...} onStartShouldSetPanResponde

ScrollView#showsHorizontalScrollIndicator

showsHorizontalScrollIndicator bool When true, shows a horizontal scroll indicator.

ScrollView#endFillColor

androidendFillColor color Sometimes a scrollview takes up more space than its content fills. When this is the case, this prop will fill the rest of the scrollview with a color to avoid setting a background and creating unnecessary overdraw. This is an advanced optimization that is not needed in the general case.

TextInput#autoFocus

autoFocus bool If true, focuses the input on componentDidMount. The default value is false.