@orca-fe/antd-plus
Version:
Transformer Container
39 lines (37 loc) • 1.01 kB
JavaScript
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);
};
}, []);
};