- vừa được xem lúc

Best Practices trong ReactJS

0 0 40

Người đăng: Viên Ngô

Theo Viblo Asia

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

  • Thay vì
 const [username, setusername] = useState('') const [password, setpassword] = useState('')
  • Nên sử dụng
 const [user, setuser] = useState({})

Destructor props

const [user, setuser] = useState({})

Làm rõ các biến

 // Declare them as capitalized named constants. const MILLISECONDS_PER_HOUR = 60 * 60 * 1000; // 36000000 setTimeout(restart, MILLISECONDS_PER_HOUR);

Không lặp lại tên biến không cần thiết

// old
type User = { userName: string; userLastName: string; userAge: number;
} function print(user: User): void { console.log(`${user.userName} ${user.userLastName} (${user.userAge})`);
} //new
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

//old 
type UserStatus = 'online' | 'offline';
function createUser(name: string, lastName: string, age: number, status: UserStatus) { // ...
} createUser('Gapur', 'Kassym', 29, 'online'); //new
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

// old
const renderHeader = () => { return ( <div> <span>User:</span> {user.name && user.lastName && renderUserInfo()} </div> );
} const renderUserInfo = () => { return <span>{`${user.name} ${user.lastName}`}</span>;
}; //new
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

//old
function createUser(user: User) { user.name = user.name || 'User'; user.lastName = user.lastName || ''; user.age = user.age || 18; // ...
} //new
function createUser(user: User) { const userWithDefaultValues = { name: 'User', lastName: '', age: 18, ...user, }; // ...
}

Bình luận

Bài viết tương tự

- vừa được xem lúc

Cùng tìm hiểu về các hook trong React hooks

Đối với ai đã từng làm việc với React thì chắc hẳn đã có những lúc cảm thấy bối rối không biết nên dùng stateless (functional) component hay là stateful component. Nếu có dùng stateful component thì cũng sẽ phải loay hoay với đống LifeCycle 1 cách khổ sở Rất may là những nhà phát triển React đã kịp

0 0 100

- vừa được xem lúc

Khi nào nên (và không nên) sử dụng Redux

. Công việc quản lý state với những hệ thống lớn và phức tạp là một điều khá khó khăn cho đến khi Redux xuất hiện. Lấy cảm hứng từ design pattern Flux, Redux được thiết kế để quản lý state trong các project JavaScript.

0 0 127

- vừa được xem lúc

ReactJS: Props và State

Nếu bạn đã học ReactJS hay React Native, bạn sẽ thấy các Props và State được sử dụng rất nhiều. Vậy chính xác chúng là gì? Làm thế nào để chúng ta sử dụng chúng đúng mục đích đây.

0 0 59

- vừa được xem lúc

State và Props trong Reactjs

Hello các bạn, tiếp tục seri tìm hiểu về ReactJs hôm nay mình xin giới thiệu đến các bạn hai thứ mình cho là thú vị nhất của ReactJs là State và Props. State bạn có thể hiểu đơn giản là một nơi mà bạn lưu trữ dữ liệu của Component, từ đó bạn có thể luân chuyển dữ liệu đến các thành phần trong Compon

0 0 54

- vừa được xem lúc

Memoization trong React

. 1.Introduction. Memoization có liên quan mật thiết đến bộ nhớ đệm, và dưới đây là một ví dụ đơn giản:. const cache = {}.

0 0 51

- vừa được xem lúc

Nâng cao hiệu suất React Hooks với React.memo, Memoization và Callback Functions

1.Ngăn Re-render và React.memo. React.

0 0 80