# Frontend ## HTML ## CSS ## Javascript - JS - Basic data structures: variables, objects, and arrays - Array methods and working with array data: .map(), .filter(), and .reduce() - Function Declarations and Arrow Functions - Template Literals - Short Conditionals: &&, ||, Ternary Operator - Three Array Methods: .map(), .filter(), .reduce() - Object Tricks: Property Shorthand, Destructuring, Spread Operator - Promises + Async/Await Syntax, Asynchronous JavaScript: promises, making HTTP requests with Fetch API, async/await syntax can help - The DOM: learn to create, select and modify HTML elements as well as their attributes - ES Modules + Import / Export syntax [refrenece](https://www.freecodecamp.org/news/javascript-skills-you-need-for-react-practical-examples/) ## Typescript - TS ## REACT ### React fundamentals and React hooks - How to structure JSX elements - How to render (show) JSX elements and how to show or hide elements based on certain conditions - How to split JSX into components and how to reuse and organize those components to make our app interface. - How to pass data (+ JSX elements and components) to components using props and when to do so - How to store and update data within components using state and how to "lift state up" to other components - How to use event data in React and handle events from onClick, onChange, and onSubmit events (i.e. events from buttons, inputs, and forms) - useState: to store and manage data within individual components - useEffect: to perform actions like HTTP requests or working with a browser API - useRef: to reference JSX elements - useContext: to access data from React Context to share data among components more easily [rather than passing props] - useReducer: to store and manage data across multiple component ### Learn to fetch data from both REST and GraphQL APIs - Just REST APIs would work for now ### Learn to style your React apps with a component library or utility class library - Component Library eg: Material UI - Utility class library eg: Tailwindcss ### Learn a React router. In particular, react-router-dom