mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
31 lines • 1.13 kB
JavaScript
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["children"];
import React, { useContext } from 'react';
import { mergeObject } from 'ut2';
import zhCN from '../../locale/zh_CN';
export var defaultConfigRef = {
current: {
locale: zhCN
}
};
export function setDefaultConfig(config) {
defaultConfigRef.current = mergeObject({}, defaultConfigRef.current, config);
}
export function getDefaultConfig() {
return defaultConfigRef.current;
}
var ConfigContext = /*#__PURE__*/React.createContext(null);
export var BizConfigProvider = function BizConfigProvider(props) {
var children = props.children,
config = _objectWithoutProperties(props, _excluded);
var parentConfig = useConfig();
var mergeConfig = mergeObject({}, parentConfig, config);
return /*#__PURE__*/React.createElement(ConfigContext.Provider, {
value: mergeConfig
}, children);
};
export function useConfig() {
var _useContext;
return (_useContext = useContext(ConfigContext)) !== null && _useContext !== void 0 ? _useContext : getDefaultConfig();
}
export default BizConfigProvider;