/* My Food App structure will look like this,
1) Header
- Logo
- Nav Items(right side)
- Cart
2) Body
- Search bar
- Restaurants List
- Restaurant card
- Image
- Name
- Rating
3) Footer
- Links
- Copyrights
*/
- Install @reduxjs/toolkit and react-redux
- Build our store
- in seperate file
- import this store or bridge that to the app to the core (ie, App.js) using Provider provided by react-redux.
- Connect our store to app
- Slice (cartSlice)
- addItem is the action (dispatch action)
- function next to that is the reducer function()
- dispatch (action)
- Selector
- Dev Build
- Local Server
- HMR = Hot Module Replacement
- File Watching Algorithm - written in C++
- Caching - Faster Builds
- Image Optimization
- Minification
- Bundling
- Compress
- Consistent Hashing
- Code Splitting
- Differential Bundling - support older browsers
- Diagnostic
- Error Handling
- HTTPs
- Tree Shaking - remove unused code
- Different dev and prod bundles
/**
- Header
-
- Logo
-
- Nav Items
- Body
-
- Search
-
- RestaurantContainer
-
- RestaurantCard
-
- Img
-
- Name of Res, Star Rating, cuisine, delery tie
- Footer
-
- Copyright
-
- Links
-
- Address
-
- Contact */
Two types of Export/Import
- Default Export/Import
export default Component; import Component from "path";
- Named Export/Import
export const Component; import {Component} from "path";
(Normal JS utility functions)
- useState() - Superpowerful State Variables in react
- useEffect()
- Client Side Routing
- Server Side Routing
- Install @reduxjs/toolkit and react-redux
- Build our store
- Connect our store to our app
- Slice (cartSlice)
- dispatch(action)
- Selector
- Unit Testing
- Integration Testing
- End to End Testing - e2e testing
- Install React Testing Library
- Installed jest
- Installed Babel dependencies
- Configure Babel
- Configure Parcel Config file to disable default babel transpilation
- Jest - npx jest --init
- Install jsdom library
- Install @babel/preset-react - to make JSX work in test cases
- Include @babel/preset-react inside my babel config
- npm i -D @testing-library/jest-dom