Gunakan pemalam pangkalan data React Query untuk mencapai penyegerakan data automatik
Apabila pembangunan bahagian hadapan menjadi semakin kompleks, pengurusan data menjadi lebih dan lebih penting. React Query ialah pemalam pangkalan data yang berkuasa yang memberikan kami pengurusan status data yang mudah dan fungsi penyegerakan automatik. Dalam artikel ini, kami akan meneroka cara memanfaatkan React Query untuk penyegerakan data automatik dan menyediakan contoh kod khusus.
1 Memahami React Query
React Query ialah perpustakaan yang memfokuskan pada pengurusan data dan penyegerakan. Ia dibina berdasarkan React dan menyediakan API yang mudah digunakan dan Ciri yang berkuasa. Konsep teras React Query ialah pertanyaan Sesuatu pertanyaan boleh meminta data jauh, menyimpan data secara setempat dan secara automatik mengendalikan pemuatan, caching dan penyegerakan data. Pada masa yang sama, React Query juga menyediakan pengurusan status data yang jelas dan mekanisme pengendalian ralat. Ini membolehkan kami memproses data dengan lebih mudah dan cekap.
2. Pelaksanaan penyegerakan data automatik
npm install react-query # 或者 yarn add react-query
import { QueryClient, QueryClientProvider } from 'react-query';
const queryClient = new QueryClient();
ReactDOM.render( <QueryClientProvider client={queryClient}> <App /> </QueryClientProvider>, document.getElementById('root') );
Isytihar pertanyaan
import { useQuery } from 'react-query'; function MyComponent() { const { data, isLoading } = useQuery('todos', fetchTodos); if (isLoading) { return <LoadingSpinner />; } return ( <ul> {data.map((todo) => ( <li key={todo.id}>{todo.title}</li> ))} </ul> ); } async function fetchTodos() { const response = await fetch('/api/todos'); const data = await response.json(); return data; }
Kemas kini data
import { useMutation } from 'react-query'; function MyComponent() { const { data, isLoading } = useQuery('todos', fetchTodos); const mutation = useMutation(updateTodo); async function handleUpdate(id, status) { await mutation.mutateAsync({ id, status }); } if (isLoading) { return <LoadingSpinner />; } return ( <ul> {data.map((todo) => ( <li key={todo.id}> {todo.title} <button onClick={() => handleUpdate(todo.id, 'completed')}> 完成 </button> </li> ))} </ul> ); } async function updateTodo({ id, status }) { await fetch(`/api/todos/${id}`, { method: 'PUT', body: JSON.stringify({ status }), headers: { 'Content-Type': 'application/json' }, }); }
Segerakkan data secara automatik
function MyComponent() { const { data, isLoading } = useQuery('todos', fetchTodos, { refetchOnMount: true, refetchInterval: 3000, // 每 3 秒自动更新一次数据 }); // ... }
Atas ialah kandungan terperinci Gunakan pemalam pangkalan data React Query untuk mencapai penyegerakan data automatik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!