[React+Tailwind] Badge を TypeScript に書き直してみた | 心を無にして始める React
準備
書き直すベースはこちらの Badge コンポーネントです。
JavaScript
ベースの Badge.js です。
import { forwardRef } from 'react';
import { Badge as FlowbiteBadge } from 'flowbite-react';
const Badge = forwardRef((
{
children,
color = "info",
href,
icon,
size,
...otherProps
},
ref,
) => {
return (
<FlowbiteBadge
color={color}
href={href}
icon={icon}
ref={ref}
size={size}
{...otherProps}
>
{children}
</FlowbiteBadge>
);
});
export default Badge;
TypeScript
Badge.tsx として編集します。
import { forwardRef, LegacyRef } from 'react';
import {
Badge as FlowbiteBadge,
BadgeProps as FlowbiteBadgeProps,
} from 'flowbite-react';
type BadgeProps = {} & FlowbiteBadgeProps;
const Badge = forwardRef((
{
children,
color = "info",
href,
icon,
size,
...otherProps
}: BadgeProps,
ref: LegacyRef<HTMLSpanElement>,
) => {
return (
<FlowbiteBadge
color={color}
href={href}
icon={icon}
ref={ref}
size={size}
{...otherProps}
>
{children}
</FlowbiteBadge>
);
});
export default Badge;
結果
変化はないので、前と同じ。
はい、できました。