useCopyToClipboard()
Copy a value to the clipboard.
Usage
By default will the isCopied
value go back to false
after 2500
milliseconds. See duration if you want to control it.
The copyValue()
function returns a boolean that indicates if the value was
copied to the clipboard or not. It will not copy to the clipboard if the
user have denied the permission to access the Clipboard API (opens in a new tab)
or if the user's browser doesn't support clipboard functionality.
import { useCopyToClipboard } from '@norr/hooks';
const Component = () => {
const { copyValue, copiedValue, isCopied } = useCopyToClipboard();
return (
<button type="button" onClick={() => copyValue('Lorem ipsum')}>
{!isCopied ? 'Copy' : `Copied "${copiedValue}"`}
</button>
);
};
Duration
You can control how long the isCopied
value should be true
by passing a
duration
value in milliseconds.
import { useCopyToClipboard } from '@norr/hooks';
const Component = () => {
const { copyValue, copiedValue, isCopied } = useCopyToClipboard({
duration: 5000,
});
return (
<button type="button" onClick={() => copyValue('Lorem ipsum')}>
{!isCopied ? 'Copy' : `Copied "${copiedValue}"`}
</button>
);
};