Files
Airframe-React/app/components/UncontrolledTabs/UncontrolledTabs.js
2019-08-15 00:54:44 +02:00

33 lines
766 B
JavaScript
Executable File

import React from 'react';
import PropTypes from 'prop-types';
import { Provider } from './context';
class UncontrolledTabs extends React.Component {
static propTypes = {
children: PropTypes.node.isRequired,
initialActiveTabId: PropTypes.string
};
constructor(props) {
super(props);
this.state = {
activeTabId: this.props.initialActiveTabId || null
};
}
render() {
return (
<Provider value={{
setActiveTabId: (tabId) => { this.setState({ activeTabId: tabId }) },
activeTabId: this.state.activeTabId
}}>
{ this.props.children }
</Provider>
);
}
}
export { UncontrolledTabs };