src |__ components (shared components between features) | |__ Loading | |__ index.jsx | |__ styles.scss | |__ features | |__ Todo | |__ components (components of feature Todo) | |__ pages (pages of feature Todo) | |__ index.jsx (entry point of feature Todo) | |__ App.js const filters = { isPromotion: true, salePrice_lte: 100, salePrice_gte: 100, };- id: number
- getLabel: (filters) => string
- isActive: (filters) => true/false
- isVisible: (filters) => true/false
- isRemovable: boolean
- onRemove: func
- onToggle: func
DetailPage handleSubmit |__ AddToCartForm (form management) | |__ QuantityField /products/:productId --> ProductDescription /products/:productId/additional --> ProductAdditional /products/:productId/reviews --> ProductReviews - DetailPage
- Click Chọn Mua
- Open Mini Cart
- Go to Cart Page
- showMiniCart: true / false
- cartItems -> item (product, quantity)
- cartItemsCount
- cartTotal
--> createSelector()