1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/open-hand-choerodon-ui

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
LayoutSiderContext.tsx 1.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
HughHzWu Отправлено 3 лет назад bad5b40
import React, { FunctionComponent, memo, ReactNode, useMemo } from 'react';
import { getContext, Symbols } from 'choerodon-ui/shared';
import { getPrefixCls } from '../configure/utils';
export interface LayoutSiderContextValue {
siderCollapsed?: boolean;
collapsedWidth?: number | string;
getPrefixCls(suffixCls: string, customizePrefixCls?: string): string;
}
export interface LayoutSiderContextProviderProps extends LayoutSiderContextValue {
children?: ReactNode;
}
const LayoutSiderContext = getContext<LayoutSiderContextValue>(Symbols.LayoutSiderContext, { getPrefixCls });
const BaseLayoutSiderContextProvider: FunctionComponent<LayoutSiderContextProviderProps> = function LayoutSiderContextProvider(props) {
const { children, siderCollapsed, collapsedWidth, getPrefixCls: getGlobalPrefixCls } = props;
const value = useMemo(() => ({
siderCollapsed,
collapsedWidth,
getPrefixCls: getGlobalPrefixCls,
}), [getGlobalPrefixCls, siderCollapsed, collapsedWidth]);
return (
<LayoutSiderContext.Provider value={value}>
{children}
</LayoutSiderContext.Provider>
);
};
BaseLayoutSiderContextProvider.displayName = 'LayoutSiderContextProvider';
export const LayoutSiderContextProvider = memo(BaseLayoutSiderContextProvider);
export default LayoutSiderContext;

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/open-hand-choerodon-ui.git
git@gitlife.ru:oschina-mirror/open-hand-choerodon-ui.git
oschina-mirror
open-hand-choerodon-ui
open-hand-choerodon-ui
master