Слияние кода завершено, страница обновится автоматически
import React, { FunctionComponent, memo, ReactNode, useMemo } from 'react';
import { getContext, Symbols } from 'choerodon-ui/shared';
import { getPrefixCls } from '../configure/utils';
import { Size } from '../_util/enum';
export interface AvatarContextValue {
size?: Size | number;
getPrefixCls(suffixCls: string, customizePrefixCls?: string): string;
}
export interface AvatarContextProviderProps extends AvatarContextValue {
children?: ReactNode;
}
const AvatarContext = getContext<AvatarContextValue>(Symbols.AvatarContext, { getPrefixCls });
const BaseAvatarContextProvider: FunctionComponent<AvatarContextProviderProps> = function AvatarContextProvider(props) {
const { children, size, getPrefixCls: getGlobalPrefixCls } = props;
const value = useMemo(() => ({
size,
getPrefixCls: getGlobalPrefixCls,
}), [getGlobalPrefixCls, size]);
return (
<AvatarContext.Provider value={value}>
{children}
</AvatarContext.Provider>
);
};
BaseAvatarContextProvider.displayName = 'AvatarContextProvider';
export const AvatarContextProvider = memo(BaseAvatarContextProvider);
export default AvatarContext;
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )