- Tất cả string đều phải đều phải có ngôn ngữ
- ngôn ngữ được để trong app/assets/locales
- Các component định nghĩa trong shared/components
- Các hàm tiện ích
- Về việc lưu và sử dụng config
- Các hằng số định nghĩa trong app/constants/Constants.js
- Style, Font, FontSize định nghĩa trong Styles.js
- Icon, Image, Color định nghĩa trong AppColors.js, AppIcons.js, AppImages.js
- Các component dùng chung phải có comment giải thích đầu vào cụ thể ( ví dụ: Divider.js)
- Khi viết code vào các file dùng chung ( ví dụ: Const.js, Styles.js, Assets.js ..) thì nên có comment để giải thích việc thêm code đó để làm gì
và nên viết tên của mình vào comment để biết được ai thêm. Ví dụ:
// hieubt: add padding in home screen
const paddingHome = 100
- Chuyển trang sẽ được thực hiện trong NavigatorUtil.js (cần comment giải thích đầy đủ đầu vào)
- Tên các màn hình đặt trong ScreenNames.js không điền trực tiếp text
Ứng dụng sẽ dùng redux để lưu các trạng thái và redux-thunk để thực hiện các side effect (công việc liên quan đến kết nối mạng hoặc công việc cần thời gian xử lý). Sau đó sẽ lưu vào redux. redux + redux-thunk => slice toolkit. Tất cả sẽ được viết trong slice.
- app/assets: chứa tất cả files, icons, images, locales, colors
- app/controllers/api: gọi api
- app/controllers/hooks: chứa các hook của ứng dụng
- app/controllers/listener: chứa các component có nhiệm vụ lắng nghe hoặc xử lý sự kiện (ko có giao diện)
- app/controllers/socket: quản lý socket
- app/controllers/slice: chứa các slice chính của ứng dụng: AppSlice, AccountSlice, AppSlice, PackageSlice, ServiceSlice,
- app/screens: chứa các màn hình ứng dụng
Dùng "yarn add" thay cho "npm install"
- mở file build.gradle của react-native-i18n, thay compile bằng api, line 25
- Mở file thư viện đang dùng, sửa để fix lỗi hiện tại
- Lưu lại thay đổi để cho mỗi lần cài lib các phần sửa được vá
yarn patch-package <package_name> --use-yarn
hoặc
npx patch-package <package_name>