ya-webadb/apps/demo/utils/with-display-name.ts
2021-10-11 17:15:17 +08:00

14 lines
446 B
TypeScript

import React, { memo } from 'react';
export function withDisplayName(name: string) {
return <P extends object>(Component: React.FunctionComponent<P>) => {
Component.displayName = name;
return memo(Component);
};
}
export function forwardRef<T>(name: string) {
return <P extends object>(Component: React.ForwardRefRenderFunction<T, P>) => {
return withDisplayName(name)(React.forwardRef(Component));
};
}