我做了一个定制的钩子,包裹着 Chakra 的定制钩子。Chakra UI 是一个组件库。
export const useToast = () => {
const chakraToast = useChakraToast();
// ...
const toast = ({ id, title, delay, position = `bottom-right` }: Options) => {
return chakraToast({
id,
position,
duration: null,
render: ({ onClose }) => (<Toast title={title} onClose={onClose} />)
});
};
// ...
return toast;
};
如您所见,我需要告诉 Chakra 使用我的 Toast 组件。问题是,可以在自定义钩子中调用功能组件吗?如果是这样,我需要将自定义挂钩文件的扩展名从 .ts 更改为 .tsx。也可以吗?
谢谢!