Skip to content

TabBarIOS fails with "Invariant Violation: onlyChild must be passed a children with exactly one child." #942

@awiss

Description

@awiss

My element looks like this

var React = require('react-native');
var styles = require('./styles.ios.js');
var {
  TabBarIOS,
  View,
  Image,
  Text
} = React

var HomeTabBar = React.createClass({
  getInitialState: function() {
    return {
      name: this.props.name
    }
  },
  render: function () {
    return (
      <TabBarIOS>
        <TabBarIOS.Item
          selected={this.state.name == "Home"}
          name="Trips"
          title="Trips"
          icon={require('image!waypoint_map-32')}
          onPress={this.props.onPressTrips}
        >
        </TabBarIOS.Item>
        <TabBarIOS.Item
          selected={this.state.name == "Brokers"}
          name="Brokers"
          systemIcon="contacts"
          title="Brokers"
          onPress={this.props.onPressTrips}
        >
        </TabBarIOS.Item>
        <TabBarIOS.Item
          systemIcon="more"
          selected={this.state.name == "More"}
          onPress={this.props.onPressMore}
        >
        </TabBarIOS.Item>

      </TabBarIOS>
    )
  },
  onPressTab: function(name) {
    if (this.props.selected != name) {
      this.props.outer_nav.replace({
        name: name
      });
    }
  }
});


module.exports = HomeTabBar;

The failure occurs whenever the selected property on the 2nd or 3rd item evaluates to true.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions