このドキュメントでは、厳選されたツール セットとベスト プラクティスを使用して React アプリケーションを構築および管理するための包括的なアプローチの概要を説明します。これらのガイドラインに従うことで、スケーラブルで保守性の高い効率的なアプリケーションを作成できます。
ズスタンド:
import create from 'zustand'; const useStore = create((set) => ({ count: 0, increment: () => set((state) => ({ count: state.count + 1 })), }));
クエリへの反応:
import { useQuery } from 'react-query'; const fetchUsers = async () => { const response = await fetch('https://api.example.com/users'); return response.json(); }; const UsersList = () => { const { isLoading, isError, data, error } = useQuery('users', fetchUsers); if (isLoading) return <div>Loading...</div>; if (isError) return <div>Error: {error.message}</div>; return ( <ul> {data.map((user) => ( <li key={user.id}>{user.name}</li> ))} </ul> ); };
突然変異:
import { useMutation } from 'react-query'; const createUser = async (userData) => { const response = await fetch('https://api.example.com/users', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(userData), }); return response.json(); }; const CreateUserForm = () => { const [createUserMutation] = useMutation(createUser); const handleSubmit = (userData) => { createUserMutation(userData) .then(() => { // Handle success }) .catch((error) => { // Handle error }); }; return ( <form onSubmit={handleSubmit}> {/* Form fields */} <button type="submit">Create User</button> </form> ); };
TanStack テーブル:
import { useTable } from 'tanstack/react-table'; const columns = [ { header: 'Name', accessor: 'name' }, { header: 'Email', accessor: 'email' }, ]; const data = [ { name: 'John Doe', email: 'john@example.com' }, // ... ]; const TableComponent = () => { const { getTableProps, getTableBodyProps, headerGroups, rows } = useTable({ columns, data, }); return ( <table {...getTableProps()}> <thead> {headerGroups.map((headerGroup) => ( <tr {...headerGroup.getHeaderGroupProps()}> {headerGroup.headers.map((column) => ( <th {...column.getHeaderProps()}>{column.render('Header')}</th> ))} </tr> ))} </thead> <tbody {...getTableBodyProps()}> {rows.map((row) => ( <tr {...row.getRowProps()}> {row.cells.map((cell) => ( <td {...cell.getCellProps()}>{cell.render('Cell')}</td> ))} </tr> ))} </tbody> </table> ); };
基数 UI:
import { Menu } from '@radix-ui/react-menu'; const MenuComponent = () => { return ( <Menu> <Menu.Button>Open Menu</Menu.Button> <Menu.Items> <Menu.Item>Item 1</Menu.Item> <Menu.Item>Item 2</Menu.Item> </Menu.Items> </Menu> ); };
Tailwind CSS:
import create from 'zustand'; const useStore = create((set) => ({ count: 0, increment: () => set((state) => ({ count: state.count + 1 })), }));
Yup とのフォーミック:
import { useQuery } from 'react-query'; const fetchUsers = async () => { const response = await fetch('https://api.example.com/users'); return response.json(); }; const UsersList = () => { const { isLoading, isError, data, error } = useQuery('users', fetchUsers); if (isLoading) return <div>Loading...</div>; if (isError) return <div>Error: {error.message}</div>; return ( <ul> {data.map((user) => ( <li key={user.id}>{user.name}</li> ))} </ul> ); };
ソース/
§── コンポーネント/
│ §── Button.jsx
│ §──Input.jsx
│ └── ...
§── ページ/
│ §── Home.jsx
│ │ コンポーネント/
│ │ §── Hero.jsx
│ │ └─ ...
│ §── About.jsx
│ └── ...
§── lib/
│ §── utils.js
│ └── ...
§── アクション/
│ §── api.js
│ └── ...
§── 店舗/
│ §── counterStore.js
│ └── ...
これらのガイドラインに従い、推奨ツールを利用することで、堅牢でスケーラブルで保守可能な React アプリケーションを構築できます。このアプローチにより、コードの編成、再利用性、効率的な状態管理が促進され、開発エクスペリエンスが向上し、ソフトウェアの品質が向上します。
以上が効率的なコード管理のための React ツールセットの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。