UNPKG

@geezee/react-ui

Version:

Modern and minimalist React UI library.

41 lines (35 loc) 1.06 kB
import React, { useEffect, useMemo } from 'react'; import { useTabsContext } from './tabs-context'; var defaultProps = { disabled: false }; var TabsItem = function TabsItem(_ref) { var children = _ref.children, value = _ref.value, label = _ref.label, disabled = _ref.disabled; var _ref2 = useTabsContext(), register = _ref2.register, currentValue = _ref2.currentValue; var isActive = useMemo(function () { return currentValue === value; }, [currentValue, value]); useEffect(function () { register && register({ value: value, label: label, disabled: disabled }); }, [value, label, disabled]); //remove corresponding data model when unmount useEffect(function () { return function () { register && register({ remove: value }); }; }, []); /* eslint-disable react/jsx-no-useless-fragment */ return isActive ? /*#__PURE__*/React.createElement(React.Fragment, null, children) : null; }; TabsItem.defaultProps = defaultProps; export default TabsItem;