Bỏ qua để đến nội dung

Frontend Architecture

Best practices trong việc tổ chức code và architecture cho frontend projects.

src/
├── components/
│ ├── common/ # Reusable components
│ ├── features/ # Feature-specific
│ └── layouts/ # Layout components
├── hooks/ # Custom hooks (React)
├── composables/ # Composables (Vue)
├── utils/ # Utility functions
├── services/ # API calls
├── stores/ # State management
├── types/ # TypeScript types
├── styles/ # Global styles
└── App.jsx
  • Component state với useState/ref
  • React: Zustand, Redux Toolkit, Jotai
  • Vue: Pinia
// Zustand example
import create from "zustand";
const useStore = create((set) => ({
count: 0,
increment: () => set((state) => ({ count: state.count + 1 })),
}));
import { useQuery } from "@tanstack/react-query";
function Users() {
const { data, isLoading } = useQuery({
queryKey: ["users"],
queryFn: () => fetch("/api/users").then((r) => r.json()),
});
}
  • Container/Presentational - Logic vs UI separation
  • Compound Components - Components work together
  • Render Props - Share code via props
  • HOC - Higher-Order Components