UNPKG

@orca-fe/antd-plus

Version:
39 lines (37 loc) 1.01 kB
import React, { useContext, useEffect } from 'react'; import { useMemoizedFn } from 'ahooks'; // 单个tab配置 export var TabsLayoutContext = /*#__PURE__*/React.createContext({ tabs: [], setTabs: () => {}, add: () => {}, update: () => {}, remove: () => {}, activeKey: '', active: () => {}, setRenderRoot: () => {} }); export default TabsLayoutContext; export var TabConfigContext = /*#__PURE__*/React.createContext({ index: -1, current: null, isActive: false, active: () => {}, close: () => {}, update: () => {}, params: null, addCloseListener: () => {}, removeCloseListener: () => {} }); export var useTabCloseListener = callback => { var _callback = useMemoizedFn(callback); var _useContext = useContext(TabConfigContext), addCloseListener = _useContext.addCloseListener, removeCloseListener = _useContext.removeCloseListener; useEffect(() => { addCloseListener(_callback); return () => { removeCloseListener(_callback); }; }, []); };