import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { observer } from 'mobx-react'; import classnames from 'classnames'; import { oneOrManyChildElements } from '../../../prop-types'; export default @observer class Tab extends Component { static propTypes = { children: oneOrManyChildElements.isRequired, active: PropTypes.number, }; static defaultProps = { active: 0, }; componentWillMount() { this.setState({ active: this.props.active }); } switchTab(index) { this.setState({ active: index }); } render() { const { children: childElements } = this.props; const children = childElements.filter(c => !!c); if (children.length === 1) { return
{children}
; } return (
{React.Children.map(children, (child, i) => ( ))}
{React.Children.map(children, (child, i) => (
{child}
))}
); } }