TabBarIOS

Edit on GitHubProps #

Edit on GitHubExamples #

'use strict'; var React = require('react-native'); var { StyleSheet, TabBarIOS, Text, View, } = React; var TabBarItemIOS = TabBarIOS.Item; var TabBarExample = React.createClass({ statics: { title: '<TabBarIOS>', description: 'Tab-based navigation.' }, getInitialState: function() { return { selectedTab: 'redTab', notifCount: 0, presses: 0, }; }, _renderContent: function(color: string, pageText: string) { return ( <View style={[styles.tabContent, {backgroundColor: color}]}> <Text style={styles.tabText}>{pageText}</Text> <Text style={styles.tabText}>{this.state.presses} re-renders of this tab</Text> </View> ); }, render: function() { return ( <TabBarIOS selectedTab={this.state.selectedTab}> <TabBarItemIOS name="blueTab" icon={_ix_DEPRECATED('favorites')} accessibilityLabel="Blue Tab" selected={this.state.selectedTab === 'blueTab'} onPress={() => { this.setState({ selectedTab: 'blueTab', }); }}> {this._renderContent('#414A8C', 'Blue Tab')} </TabBarItemIOS> <TabBarItemIOS accessibilityLabel="Red Tab" name="redTab" icon={_ix_DEPRECATED('history')} badgeValue={this.state.notifCount ? String(this.state.notifCount) : null} selected={this.state.selectedTab === 'redTab'} onPress={() => { this.setState({ selectedTab: 'redTab', notifCount: this.state.notifCount + 1, }); }}> {this._renderContent('#783E33', 'Red Tab')} </TabBarItemIOS> <TabBarItemIOS name="greenTab" icon={_ix_DEPRECATED('more')} accessibilityLabel="Green Tab" selected={this.state.selectedTab === 'greenTab'} onPress={() => { this.setState({ selectedTab: 'greenTab', presses: this.state.presses + 1 }); }}> {this._renderContent('#21551C', 'Green Tab')} </TabBarItemIOS> </TabBarIOS> ); }, }); var styles = StyleSheet.create({ tabContent: { flex: 1, alignItems: 'center', }, tabText: { color: 'white', margin: 50, }, }); // This is needed because the actual image may not exist as a file and // is used by the native code to load a system image. // TODO(nicklockwood): How can this fit our require system? function _ix_DEPRECATED(imageUri) { return { uri: imageUri, isStatic: true, }; } module.exports = TabBarExample;