Modern React with Redux [2024 Update]
- Descrição
- Currículo
- FAQ
- Revisões
This course gets updated frequently! Here are the latest changes
-
February 21st, 2024: Added 2.5 hours of video showing routing and data loading with React Router
-
February 12th, 2024: Added 1 hour of video to demonstrate integrating Typescript with React
-
February 5th, 2024: Added 2.25 hours of video and 5 quizzes covering the basics of Typescript
Congratulations! You’ve found the most popular, most complete, and most up-to-date resource online for learning React and Redux!
Thousands of other engineers have learned React and Redux, and you can too. This course uses a time-tested, battle-proven method to make sure you understand exactly how React and Redux work, and will get you a new job working as a software engineer or help you build that app you’ve always been dreaming about.
The difference between this course and all the others: you will understand the design patterns used by top companies to build massively popular web apps.
React is the most popular Javascript library, and the job market is still hotter than ever. Companies large and small can’t hire engineers who understand React and Redux fast enough, and salaries for engineers are at an all-time high. It’s a great time to learn React!
___________________
What will you build?
This course features hundreds of videos with hundreds of custom diagrams to help you understand how React and Redux work. No prior experience with either is necessary. Through tireless, patient explanations and many interesting practical examples, you’ll learn the fundamentals of building dynamic and live web apps using React.
Each topic included in this course is added incrementally, to make sure that you have a solid foundation of knowledge. You’ll find plenty of discussion added in to help you understand exactly when and where to use each feature of React and Redux.
Adding to your experience, the course shows modern techniques and tools, equipping you with the latest skills needed for the dynamic web development landscape. You’ll get hands-on experience with cutting-edge features like Context API for state management, TailwindCSS for styling, React Router for navigation, and Typescript to add type safety to your React apps. This holistic approach ensures not only do you learn React and Redux but also the surrounding ecosystem that makes modern web development efficient and enjoyable.
Practical projects are at the heart of this learning experience. By integrating APIs, managing app state with Redux, and using React Hooks for component lifecycle management, you’ll have the opportunity to build applications that are both complex and high-performing. These projects are designed to simulate real-world web development scenarios, preparing you for the challenges that professional developers face daily.
My guarantee to you: there is no other course online that teaches more features of React and Redux Toolkit. This is the most comprehensive resource there is.
Below is a partial list of the topics you’ll find in this course:
-
Master the fundamental features of React, including JSX, state, and props
-
From square one, understand how to build reusable components
-
Dive into the source code of Redux to understand how it works behind the scenes
-
Test your knowledge and hone your skills with numerous coding exercises
-
Use popular styling libraries to build beautiful apps
-
See different methods of building UI’s through composition of components
-
Integrate Redux Toolkit for efficient state management
-
Leverage React Hooks for more intuitive component logic
-
Manage app-wide state with the Context API for simpler global state
-
Style components with TailwindCSS for rapid UI development
-
Utilize TypeScript with React for safer and more predictable code
-
Implement navigation within your app with React Router
-
Utilize Redux with forms for consistent state updates and user experience
-
Learn to use portals for rendering components outside the DOM hierarchy
-
Develop and interact with APIs for data-driven applications
-
Master the implementation of data tables to handle and display large sets of data
-
Get to grips with Immer for writing reducers with ease
Besides just React and Redux, you’ll pick up countless other tidbits of knowledge, including design techniques, popular design patterns, and repeatable steps to build new components.
This is the course I wanted to take when I first learned React: complete, up-to-date, and clear.
-
1How to Get HelpVídeo Aula
-
2Join Our Community!Texto
-
3Course ResourcesTexto
-
4Let's Build an App!Vídeo Aula
Dive into building a language translation app with React, starting with a straightforward project to get a taste of React development. Utilize an online code editor and a prepared template to focus on coding without setup distractions. Learn to create dynamic translation output based on user input using React state and event handlers and enhance the app with inline styling for a polished look.
-
5Critical QuestionsVídeo Aula
Explore the foundational concepts of React by dissecting the mechanics of JSX, a syntax close to HTML, used to define UI components. This segment delves into how React displays and updates HTML content in response to user interactions and the role of components, both individually in managing portions of the interface and holistically through coordination within an application's structure.
-
6Core ConceptsQuestionário
-
7A Few More Critical QuestionsVídeo Aula
Explore the React application startup process through an in-depth explanation of code bundling, server interactions, and the essential `index.html` structure. Further, discover React's state system with useState function usage to manage dynamic data, and the application’s translation feature which utilizes the Google Translate API.
-
8Node SetupVídeo Aula
Explore the creation of a new React project locally, beginning with the installation and update of Node.js, an essential step before generating the project. Delve into writing code and eventually deploying a professional-quality React application using Node to set up the project environment.
-
9Starter Project FilesTexto
-
10Working with a React ProjectVídeo Aula
-
11Showing Basic ContentVídeo Aula
Embark on the journey of setting up a plain React application by clearing out unnecessary files and focusing on the essentials. Explore the creation of a basic component and displaying it using React and ReactDOM, covering the nuances of each library and the step-by-step process involving component creation, DOM element targeting, and rendering. Get ready to build a foundational understanding before tackling more advanced React concepts.
-
12What is JSX?Vídeo Aula
Dive into the intricacies of JSX, the syntax used in React to define UI components. Learn how JSX provides a concise way to write elements, which are then transformed by Babel into JavaScript, and discover why this abstraction makes development more intuitive compared to using React's createElement function directly. Explore JSX's role in instructing React on what to render and the significance of returning JSX from components for display.
-
13Printing JavaScript Variables in JSXVídeo Aula
Discover how to dynamically render content in React components using JSX, learning to utilize JavaScript variables and conditional logic to determine what to display. Understand how to interpolate variables within JSX using curly braces, and grasp the intricacies of how React handles different data types, such as strings, numbers, booleans, null, undefined, arrays, and objects.
-
14Shorthand JS ExpressionsVídeo Aula
Explore the dual utility of curly braces in JSX within React components, focusing on embedding expressions directly. Learn to display dynamic content, like the current time, with minimal code by executing expressions within the JSX. Understand the balance between clarity and conciseness when deciding to declare variables or include expressions inline.
-
15Showing Javascript Values in JSXQuestionário
-
16Exercise OverviewVídeo Aula
Gain hands-on experience with React.js by incorporating a personal touch in a coding exercise. Modify the name variable within JSX using curly braces to display the name in an H1 element, then verify the solution to reinforce the concepts covered.
-
17Quick Practice with JSXQuestionário
-
18Exercise SolutionVídeo Aula
Explore embedding JavaScript variables within JSX in React by learning to print dynamic content. Discover the use of curly braces to reference variables in the H1 tag, enabling the display of personalized content within a component.
-
19Typical Component LayoutsVídeo Aula
Explore how to display multiple JavaScript variables within a single JSX element in React, such as combining names and ages in an H1 tag. Discover the common pattern of defining functions and calculating values at the top of components, then later utilizing these variables in the JSX returned at the bottom.
-
20Customizing Elements with PropsVídeo Aula
Learn to use the props system in React to customize HTML elements, such as creating a number-specific input field. Explore the syntax for adding string and number props with JSX, handling JavaScript values, and understand the key differences between JSX props and HTML attributes. Additionally, discover the correct usage of objects and arrays as props without the common pitfalls associated with their implementation in JSX.
-
21Converting HTML to JSXVídeo Aula
Explore the nuances of working with JSX properties, specifically understanding how attributes translate from HTML to JSX. Learn to apply JSX-specific rules, such as using camelCase for prop names, to correctly integrate HTML attributes in React components and ensure features like autoFocus work properly in your application.
-
22Applying Styling in JSXVídeo Aula
Explore the conversion of traditional HTML to JSX in React, focusing on how to correctly handle attributes that require numbers, Booleans, and inline styles. Learn to use curly braces for numeric values, the shorthand for Boolean props, and the object syntax for styling, while avoiding common pitfalls and warnings in the console.
-
23More on JSXQuestionário
-
24Practice JSX ConversionQuestionário
-
25Exercise SolutionVídeo Aula
Explore how to correctly convert a React component by applying five key rules to fix a malfunctioning text area. Learn to adjust prop names to camel case, use curly braces for number attributes and boolean properties correctly, switch 'class' to 'className', and format inline styles as objects to make the component functional.
-
26Extracting ComponentsVídeo Aula
Learn how to better organize a React project by splitting it into multiple files, following the community convention of capitalizing component filenames. This video demonstrates creating an 'App.js' file to house the App component, and refactors 'index.js' to import and render it, improving project readability and maintainability.
-
27Module Systems OverviewVídeo Aula
Explore the essentials of module systems in React, particularly focusing on the nuances of import and export statements critical for managing components and files. This comprehensive guide delves into default and named exports, their respective syntaxes, rules for renaming and importing variables, and how to construct relative paths in complex directory structures.
-
28Imports and ExportsQuestionário
-
29Cheatsheet for JSXTexto
-
30Starter Project FilesTexto
-
31Project OverviewVídeo Aula
-
32Creating Core ComponentsVídeo Aula
Embark on setting up a new React project by creating the foundational structure. Start with a clean `src` directory, followed by crafting essential components: `index.js`, `App.js`, and `ProfileCard.js`. Learn to build a simple `ProfileCard` component to display three instances within the `App` component, while managing imports and rendering the app in the root DOM element. The focus is on achieving a basic rendering of components, setting the stage for further customization and dynamic content integration.
-
33Introducing the Props SystemVídeo Aula
Explore the use of React's props system to customize components by passing data from a parent component to its child components. Learn how to communicate specific information, like titles and images, to individual instances of the profile card components and understand the unidirectional data flow that props facilitate in a React application.
-
34Picturing the Movement of DataVídeo Aula
Learn to effectively use React's prop system to pass data into components, creating distinct profile cards with unique titles and handles. Discover how to define custom attribute names that make code more intuitive for future maintenance and allow the seamless flow of data from parent to child components within a React application.
-
35Adding PropsVídeo Aula
Explore how to dynamically render components in React by adding attributes to profile cards, then utilizing the prop system to pass data, allowing for unique content with a single component. Discover common React conventions for handling props to efficiently manage component customization and avoid repeated JSX.
-
36Using Argument DestructuringVídeo Aula
Enhance React components' readability with JavaScript destructuring, making them more legible by simplifying prop references. Explore how to replace repetitive `props` usage with destructuring in both function arguments and the component body, streamlining code without adding extra variables. This common pattern is crucial for cleaner, more maintainable code in professional React projects.
-
37Practice with PropsQuestionário
-
38Exercise SolutionVídeo Aula
Explore how to utilize React component props effectively by examining the 'bright text.js' exercise solution. Learn about prop requirements, destructuring within components, and how to dynamically alter component behavior by passing in specific props such as 'color' with values red, green, and blue to enhance understanding of React components customization.
-
39The React Developer ToolsVídeo Aula
Explore the benefits of utilizing React Developer Tools, a browser extension for Chrome and Firefox, to better inspect and debug an application. Learn to visualize component hierarchies, understand the flow of props, and inspect component output, streamlining the development process in complex React projects.
-
40The Most Common Props MistakeVídeo Aula
Explore common pitfalls when working with React prop systems, including the critical practice of matching attribute names correctly between parent and child components. Delve into how to debug prop-related issues, such as typos or incorrect spellings, which can lead to undefined errors and understand the importance of exact naming for smoother data flow in React components.
-
41Communicating With PropsQuestionário
-
42Images for the AppTexto
-
43Including ImagesVídeo Aula
Explore how to add and use images in a ReactJS project by importing them as PNG files. Learn the difference between importing JavaScript files and non-JavaScript assets like images, dealing with base64 encoding for small images, and the use of separate file references for larger images. Understand how to display images in components using JSX and manage external images from an API without import statements.
-
44Handling Image AccessibilityVídeo Aula
Explore how to pass image variables as props into profile cards in React.js, ensuring the correct usage of JSX curly braces for JavaScript expressions. Learn the importance of using alt attributes for accessibility in images, addressing development server warnings to create an inclusive user experience.
-
45Review on how CSS WorksVídeo Aula
Explore how to enhance React application styling using the Bulma CSS library. Gain an understanding of CSS fundamentals, how CSS operates within React components, and learn to integrate Bulma via NPM for professional-looking results. Delve into applying pre-written CSS rules for rapid, effective styling improvements.
-
46Adding CSS Libraries with NPMVídeo Aula
Learn the correct way to introduce Bulma, a CSS framework, into a React.js project, utilizing npm to manage the installation efficiently. Understand the importance of inspecting the node modules directory to locate and import the necessary CSS files into the application, ensuring that external styles are correctly applied to enhance the project's appearance.
-
47A Big Pile of HTML!Vídeo Aula
Explore integrating the Bulma CSS framework into a React component to build aesthetically pleasing profile cards. Learn to meticulously structure JSX with specific class names mandated by Bulma to ensure seamless styling, and grasp the importance of additional HTML to address layout issues such as overly large images. Discover how to overcome common challenges with CSS libraries through practical examples.
-
48Last Bit of StylingVídeo Aula
Enhance the styling of a React application by utilizing Bulma CSS for a polished hero banner and adding descriptive elements to profile cards. Learn how to adjust HTML structure, apply correct class names, and pass additional props for content display. This lesson focuses on refining the look and feel of the app with practical hands-on modifications.
-
49Starter Project FilesTexto
-
50App OverviewVídeo Aula
-
51Initial App SetupVídeo Aula
Dive into the development of a React application by setting up the basic structure and component hierarchy for an interactive animal display. Learn how to organize and create functional components such as `App` and `AnimalShow`, manage props to customize child components, and establish a groundwork for handling dynamic content that changes with user interaction.
-
52Introducing the Event SystemVídeo Aula
Explore the essentials of React by learning about two critical concepts: the event system and the state system. Start by creating an interactive UI with a simple button to better understand how user interactions are detected and handled, and how to manipulate the state to update the screen.
-
53Events in DetailVídeo Aula
Explore the intricacies of the React event system, learning how to select appropriate events for user interactions such as clicks and changes. Understand the creation and naming of event handler functions, the conventions around their usage, and the importance of passing them correctly as props to plain elements without invoking them prematurely. Additionally, the handling of common events like `onClick` and `onChange` in React applications is addressed.
-
54Variations on Event HandlersVídeo Aula
Understand the nuances of using parentheses in React event handlers, specifically why adding them executes the function immediately instead of passing a reference to be invoked later. Explore variations of passing event handlers to the `onClick` prop, comparing in-line arrow function callbacks versus separate function definitions based on readability and code length.
-
55Quiz on EventsQuestionário
-
56Exercise with EventsQuestionário
-
57Exercise SolutionVídeo Aula
Consolidate React skills by adding a click event handler to a button that triggers a console log output. Learn to implement inline arrow functions for simple event handling and validate solutions with console tests or automated checks.
-
58Introducing the State SystemVídeo Aula
Discover the power of React's state system, which allows for dynamic updates of content in response to user interactions. By leveraging `useState` from React, learn how a simple click can increment a count variable and how that can lead to the re-rendering of components to display the updated state on-screen, ensuring the UI reflects the current state data accurately.
-
59More on StateVídeo Aula
Learn the fundamental concept of state in React, which allows components to react to user interactions such as clicks and typing. Discover the useState function for initializing state within components, understand how to set default values, and utilize state in JSX. Uncover the pattern of updating state through event handlers and how React re-renders components in response to state changes.
-
60Understanding the Re-Rendering ProcessVídeo Aula
Delve deeper into managing state in React applications by exploring the functionality of the useState hook. Learn how calling the setter function, such as setCount, triggers a component to re-render with the updated state. Understand the initial value assignment in useState and the process of state updating, where subsequent renders utilize the new state value instead of the initial default.
-
61Got These Five Points?Questionário
-
62Why Array Destructuring?Vídeo Aula
Explore the concept of array destructuring in JavaScript, a feature frequently used in React components, particularly with `useState`. Learn how array destructuring simplifies the retrieval of elements from arrays and understand its significance in assigning state variables and setter functions efficiently when managing component state.
-
63Back to the AppVídeo Aula
Dive into hands-on coding to build upon the understanding of state and events with a React application, showcasing dynamic addition of randomized animal pictures as users interact. Address the practical design of state by introducing an array-based 'animals' state to manage the display of animal components, moving away from the temporary count variable to a robust array mechanism. Explore the benefits of delivering unique props to individual components, ensuring animal diversity.
-
64Picking a Random ElementVídeo Aula
Learn to implement a 'getRandomAnimal' function in the React app, which selects a random animal from an array and returns it. Explore updating state correctly with 'setAnimals' to add a new random animal to an array without directly modifying the state. This ensures that the React component re-renders accordingly when the state changes.
-
65List Building in ReactVídeo Aula
Explore the 'Animal Show' component, which dynamically displays elements by transforming an array of strings into React components using JavaScript's built-in map function. Delve into how props enable component customization and why assigning 'keys' to list items is vital for React's efficient DOM updates, although their importance will be clearer in complex applications.
-
66Images for the AppTexto
-
67Loading and Showing SVGsVídeo Aula
Enhance the 'AnimalShow' React component by importing SVGs and mapping them to display alongside their respective animal names. Learn to dynamically render SVG images based on incoming prop types using JavaScript object shorthand notation and a simple mapping strategy to match an animal type to its SVG, preparing to add interactive styling features.
-
68Increasing Image SizeVídeo Aula
Explore React's state management and event handling to implement interactive UI elements. Learn to use the useState hook and onClick event handler to dynamically adjust the size of a heart icon based on user interactions, integrating inline styles to manipulate the element's appearance based on state changes within the AnimalShow component.
-
69Adding Custom CSSVídeo Aula
Explore modular styling in React apps by adding separate CSS files for each component. Dive into creating app.css and animal_show.css to style the App and AnimalShow components respectively, ensuring a more manageable and scalable approach to CSS in larger projects. Learn how to import and apply CSS rules to JSX elements using class names and selectors.
-
70Finalizing StylingVídeo Aula
Enhance React components with tailored styling by assigning class names within JSX and creating corresponding CSS selectors. Dive into app.js to tag elements, then transition to app.css to apply styles for buttons, animal lists, and individual items, streamlining their layout with flexbox properties to center and uniformly size them. Focus on practical implementation without delving deeply into CSS theory, given React's priority in this course.
-
71App Wrapup and ReviewVídeo Aula
Delve into the core concepts of React covered in the application built during the course: event handling, state management, and list rendering. Explore event listeners, callback functions, and JSX syntax for events. Learn the importance of state in updating UI and its unique role in React components, and get familiar with the `useState` hook. Master the process of rendering lists using the `.map` function and understand when to utilize keys for list items. All these foundational techniques are critical for advancing to more complex React applications.
