@lvxiaowu/antd4
Version:
antd4-components
31 lines (27 loc) • 728 B
JavaScript
import React from 'react';
import { getGlobalConfig, setGlobalConfig } from '@lvxiaowu/utils';
export function createContext(value) {
var Ctx = /*#__PURE__*/React.createContext(value);
return {
Provider: createProvider(Ctx.Provider),
Consumer: Ctx.Consumer
};
}
function createProvider(Provider) {
return function (_ref) {
var name = _ref.name,
value = _ref.value,
children = _ref.children;
setGlobalConfig(name, value);
return /*#__PURE__*/React.createElement(Provider, {
value: value
}, children);
};
}
export function useContext(Context, name) {
var ctx = React.useContext(Context);
if (ctx === undefined) {
return getGlobalConfig(name);
}
return ctx;
}