Skip to content

Latest commit

 

History

History
105 lines (105 loc) · 4.75 KB

Knowledge_1.md

File metadata and controls

105 lines (105 loc) · 4.75 KB

Chapter 1

Things I learned In this project


📗 1. ESLint

❗ Information

🌟 Usage

ESLint là một công cụ để xác định và báo cáo về các bugs được tìm thấy trong mã ECMAScript / JavaScript, với mục tiêu là strict code style rules, nhằm hạn chế bugs, looks prettier

🌟 Type

Codebase - Linter

🌟 Prerequisite

npm i -D eslint eslint-config-airbnb-base eslint-plugin-import
Create .eslintrc.js: module.exports = { "extends": "airbnb-base" };
In VS Code, Ctrl + Shift + X
Search ESLint
Install ESLint
Restart VS Code

🌟 Setup

🌟 Rating

😶 😮

📌 Noted

Config ở trên xài style AirBNB, các bạn có thể tham khảo trong cli những style khác, hoặc tự custom style, với sự ra mắt ES2020 thì 1 số nơi trong porject cũng nên tắt ESLint


📗 2. NextJS config

❗ Information

🌟 Usage

next.config.js là 1 file khá quan trọng của project, chủ yếu để customize với các plugin của zeit, có thể tới thời điểm bạn đọc cái này thì 1 số cái đã bị deprecated(hãy update nó). Trong project này mình config next.config.js như 1 .env để setup môi trường cho toàn project 1 cách thống nhất nhất có thể

🌟 Type

Codebase - Config - .env

🌟 Prerequisite

Tạo file next.config.js

🌟 Setup

🌟 Rating

😶 😮 😯

📌 Noted

Tận dụng thiết kế project Monorepo và lợi dựng env:[] trong file này, tìm hiểu thêm các boilerplate nextJS config như thế nào trong file này


📗 3. Global Variables - ThemeProvider - GlobalStyle

❗ Information

🌟 Usage

Các global variables cho dự án, sử dụng {ThemeProvider} của styled component, Thiết kế Global Style, Các Global Style trong styled Component như này sẽ không bị hashed, có thể override về sau bằng component-level styling

🌟 Type

Codebase - Consts - Global Style

🌟 Prerequisite

yarn add styled-components @styled-system/theme-get

🌟 Setup

🌟 Rating

😶 😮

📌 Noted

Việc strict các variables, comment cẩn thận giúp cho Project là 1 thể thống nhất rất quan trọng, giúp chúng ta dễ quản lý project, bên cạnh đó thì tạo global style với styled-components bằng createGlobalStyle


📗 4. PropTypes

❗ Information

🌟 Usage

PropTypes là 1 core module của React, nó giúp cho việc manipulate props dễ dàng, strict, HOC, best usage có thể nói là validators, giúp trả về đúng data, đúng mục đích, có thể là bool, string, 1 mảng oneOf, trả về đúng string gắn vô className và render đúng element className tương ứng, về mặt perfomance thì nên sử dụng trong môi trường development

🌟 Type

Techinique - Props - Data manipulating

🌟 Prerequisite

yarn add prop-types

🌟 Setup

  • Trong Functional Programming, ta có thể declare props bằng cách sau Imgur
  • Toàn bộ đều .PropTypes
  • 1 số cách sử dụng
    • Advance Inline Style Imgur
    • Đổi className base on headerType Imgur
    • Validate và trả đúng data Imgur

🌟 Rating

😶 😮 😯 😦

📌 Noted

Phản quản lý props chặt chẽ, có workflow đúng, strict các conditional, trả đúng data và type, nên tận dụng tối đa propTypes cho việc trả đúng className validator bằng oneOf, xài tốt với styled-component


📗 5. Custom Loader

❗ Information

🌟 Usage

Loader cho trang web hay bất cứ đâu

🌟 Type

UI - Design - Snippet

🌟 Prerequisite

Kiếm spinner loader của bạn

🌟 Setup

🌟 Rating

😶 😮

📌 Noted

Tham khảo getStaticPageProps hoặc getInitialpPageProps để làm loader load trang