
Learn practical, advanced React development by building a real app from scratch. Explore routing, hooks, components, testing, Storybook, and data mocking with axios and the Wikipedia API.
Create React app - https://github.com/facebook/create-react-app
Yarn - https://yarnpkg.com/
Storybook - https://storybook.js.org/
Jest - https://jestjs.io/
React Router - https://reactrouter.com/
Axios - https://github.com/axios/axios
Moxios - https://github.com/axios/moxios
Git - https://git-scm.com/
Course project repository - https://github.com/MaksymRudnyi/serch-wiki
Free Visual studio code - https://code.visualstudio.com/
Install the latest React application with create react app via npx, using yarn or npm as needed, then launch on localhost 3000 and set up the environment.
Configure git and GitHub to save and restore project data, commit and push changes, and share your repository on GitHub to connect with version control.
Install and integrate a ready-made React autocomplete package to power an input with a dropdown of suggestions, using hooks and useState for state management.
Fetch real data from Wikipedia via REST in a React app, install and use Axios for AJAX, and manage data with useEffect and state, handling CORS and errors.
Learn to customize a React input by creating a reusable component, passing placeholder and other props, applying styles, and rendering a custom autocomplete menu with children and items.
Create a useSearch hook that manages search value with an onSearchChange handler, returning value and a change function for the search form.
Install and configure react router, import browser router as router, use switch and route to map home, search, and not-found pages, apply exact matching for the home route.
Create dedicated pages for each route by adding a pages folder with home, search, and not found components and switch to react link to prevent reloads.
Customize the home page with a logo, center-aligned layout, and a styled search input. Move assets to the public folder, apply css updates, and adjust image sizing and autocomplete.
Configure the search page to fetch data based on the query from url search params, render articles with links using search hook, and handle empty results and status-driven messages.
Discover Storybook, an open source tool for developing React components in isolation with zero configuration; test, document, and switch themes using props, mobile, and tablet views.
Fix issues with Storybook by removing node_modules and yarn logs, then reinstalling dependencies from scratch to ensure Storybook runs and launches successfully.
Create your first story in Storybook by configuring a component input with a placeholder, then move the article list to a separate component and preview the page in Storybook.
Build a search results page in storybook by passing location and search props, calling the backend with useSearch, and using mocked axios data for no data and test scenarios.
Install and configure moxios to mock requests in storybook, using contract-based data for development and testing without real data.
Explore how storybook enables mdx-based documentation from stories, with canvases and code samples that describe component usage.
Define a unified unit test convention to ensure consistent style and coverage, including 100% coverage for presentational components, 80% for containers, an overall 80% target, and a practical style guide.
Learn to create and run a unit test for a React input component, write snapshot tests with the testing library, render with props, and update snapshots as needed.
Install and configure Enzyme for React unit testing, use shallow rendering for component tests, explore mount, manage snapshots and props, and verify code coverage.
Learn to run and configure code coverage for React tests, troubleshoot coverage issues, skip stories, set thresholds, and generate text and HTML coverage reports.
Learn to unit test a container component in React by mounting with children and props, using snapshot tests, and mocking hooks like useSearch to verify search value and articles.
Test the useSearchForm hook with the React hooks testing library, verifying initial empty value and updates to data one and data two via onSearchChange.
Test the bounce hook with fake timers, rendering the hook with value and delay to verify default 500 ms, simulate rapid input, and confirm debounced values update after 510 ms.
Learn how PropTypes enables type checking in React, how to install and import the library, and how to enforce required props and string prop types with default values.
Install the latest nodejs and npm on Windows, check for existing installation with command prompt, download from nodejs.org, choose 64-bit, and verify node -v and npm -v.
Install yarn, a popular package dependency manager, on Windows using npm or the MSI installer, and choose yarn two or yarn one as needed.
React is the most popular Javascript library of the last five years, and the job market is still hotter than ever. Companies large and small can't hire engineers who understand React fast enough, and salaries for engineers are at an all-time high. It's a great time to learn to React! It's a great time to do a lot of React practice!
What's this course about?
There are a huge number of React courses for beginners where authors describe the first steps. They are great for beginners. But, what to do next? How to create a real React application for customers?
In this course, we'll do React practice. We'll deliver a high-quality product with unit tests (UT) and Storybook stories for all major components. These practices are "must-have" for developers.
Who's teaching you in this course?
Senior Software Engineer with more than 8 years of production experience in Web Development. Experienced both in frontend and backend technologies.
For the last 2+ years, I've been working with React. Created a lot of different projects and have a huge experience. The practice is the most important in programming and I want to share it with you.
What's inside the course?
We'll create a simple React application with 3 different pages: Home page, Search page, and Not found page. React Router is the best choice!
It will be a copy of the Google home page with fetching data from Wikipedia using its API. For fetching data we'll use Axios and for mocking this data in Storybook and UTs, we'll use Moxios.
React hooks are a must-have. Default hooks useState, useEffect, and others are used.
Custom React hooks will be created, explained, and covered with UTs.
Storybook is one of the best practices in development. We'll learn how to install and use it. Will create stories for the most important components.
Enzyme and Jest are used for unit testing. React hooks testing library is used for hooks.
According to the unit tests code convention, we'll get 80% of code coverage.
By the end of this course, you'll have learned how to deliver high-quality React application. How to do it fast and following best practices.
If you have any questions, please don't hesitate to contact me. I have a huge experience in development and would love to share it and help students learn something new. Sign up today and see how fast you can improve your seniority in React software development.