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