웹 공유 이해 api
<code class="language-bash">npm create vite@latest my-share-app -- --template react-ts cd my-share-app</code>공유 후크 생성
공유 논리를 관리하기 위해 사용자 정의 후크 ()를 만들어 봅시다.
구현 고장<code class="language-bash">npm install sonner</code>
제공 :
<code class="language-bash">npm install -D tailwindcss@3 postcss autoprefixer npx tailwindcss init -p</code>: 클립 보드 API를 사용한 클립 보드 폴백
: 웹 공유 API의 우선 순위를 정하고, 이용할 수 없거나 실패한 경우 sonner
로 다시 떨어집니다.
App
<code class="language-typescript">// src/App.tsx import { Toaster } from 'sonner'; function App() { return ( <> <Toaster position="bottom-right" /> {/* Your app content */} </> ); }</code>
다음은 구성 요소 ()입니다
브라우저 지원 및 고려 사항
src/hooks/useShare.ts
<code class="language-typescript">import { toast } from "sonner"; const useShare = () => { const copy = async (text: string) => { try { await navigator.clipboard.writeText(text); toast.success(`Copied ${text} to clipboard!`); } catch (error) { console.error("Clipboard copy error:", error); toast.error("Clipboard copy failed."); } }; const share = async (url: string, title: string, description: string) => { if (navigator.share) { try { await navigator.share({ title, text: description, url }); console.log("Share successful!"); } catch (error) { console.error("Sharing error:", error); toast.error("Sharing failed."); copy(url); // Fallback to copy } } else { console.error("Web Share API not supported."); toast.error("Web Share API not supported. Copying URL instead."); copy(url); // Fallback to copy } }; return { copy, share }; }; export default useShare;</code>
오류를 우아하게 처리하십시오. 사용자에게 성공 또는 실패를 알립니다 간단하게 유지하십시오. 명확하고 간결한 버튼이 충분합니다
장치를 통해 철저히 테스트하십시오
useShare
리소스
copy
결론 share
위 내용은 Web Share API와 반응하여 유연한 공유 시스템 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!