Import theo cấu trúc
- components
- images
- stylesheets
- hooks
- utility
import { Routes, Route } from "react-router-dom";
import { createSlice } from "@reduxjs/toolkit";
import { Menu } from "@headlessui/react";
import Home from "./Home";
import logo from "./logo.svg";
import "./App.css";
Tuân thủ quy ước đặt tên
- PascalCase chủ yếu dành cho component
- camelCase chủ yếu đặt cho functions, hooks, variables, arrays
const [firstName, setFirstName] = useState("Ihechikara"); const studentList = []; const studentObject = {}; const getStudent = () => {}
Gom nhóm state
const [username, setusername] = useState('') const [password, setpassword] = useState('')
const [user, setuser] = useState({})
Destructor props
const [user, setuser] = useState({})
Làm rõ các biến
const MILLISECONDS_PER_HOUR = 60 * 60 * 1000; setTimeout(restart, MILLISECONDS_PER_HOUR);
Không lặp lại tên biến không cần thiết
type User = { userName: string; userLastName: string; userAge: number;
} function print(user: User): void { console.log(`${user.userName} ${user.userLastName} (${user.userAge})`);
}
type User = { name: string; lastName: string; age: number;
} function print(user: User): void { console.log(`${user.name} ${user.lastName} (${user.age})`);
}
Tạo param object khi có 2 params trở lên
type UserStatus = 'online' | 'offline';
function createUser(name: string, lastName: string, age: number, status: UserStatus) {
} createUser('Gapur', 'Kassym', 29, 'online');
type UserStatus = 'online' | 'offline';
type User = { name: string, lastName: string, age: number, status: UserStatus }; function createUser(user: User) {
} createUser({ name: 'Gapur', lastName: 'Kassym', age: 29, status: 'online'
});
Nhất quán component
const renderHeader = () => { return ( <div> <span>User:</span> {user.name && user.lastName && renderUserInfo()} </div> );
} const renderUserInfo = () => { return <span>{`${user.name} ${user.lastName}`}</span>;
};
const renderHeader = () => { return ( <div> <span>User:</span> {renderUserInfo()} </div> );
} const renderUserInfo = () => { if (user.name && user.lastName) { return <span>{`${user.name} ${user.lastName}`}</span>; } return null;
};
Tạo biến để đặt giá trị mặc định
function createUser(user: User) { user.name = user.name || 'User'; user.lastName = user.lastName || ''; user.age = user.age || 18;
}
function createUser(user: User) { const userWithDefaultValues = { name: 'User', lastName: '', age: 18, ...user, };
}