Update react roadmap

pull/3199/head
Kamran Ahmed 2 years ago
parent 96dd4ab4a1
commit 0e71019feb
  1. 1
      content/roadmaps.json
  2. 137
      content/roadmaps/103-react/content-paths.json
  3. 9
      content/roadmaps/103-react/content/100-react-fundamental-topics/100-create-react-app.md
  4. 8
      content/roadmaps/103-react/content/100-react-fundamental-topics/108-basic-hooks/102-use-context.md
  5. 7
      content/roadmaps/103-react/content/100-react-fundamental-topics/readme.md
  6. 3
      content/roadmaps/103-react/content/100-react-roadmap-note.md
  7. 0
      content/roadmaps/103-react/content/101-cli-tools/100-vite.md
  8. 0
      content/roadmaps/103-react/content/101-cli-tools/101-create-react-app.md
  9. 0
      content/roadmaps/103-react/content/101-cli-tools/readme.md
  10. 9
      content/roadmaps/103-react/content/101-react-advanced-topics/101-context.md
  11. 3
      content/roadmaps/103-react/content/101-react-advanced-topics/readme.md
  12. 0
      content/roadmaps/103-react/content/102-components/100-class-components.md
  13. 0
      content/roadmaps/103-react/content/102-components/101-functional-components.md
  14. 0
      content/roadmaps/103-react/content/102-components/102-jsx.md
  15. 0
      content/roadmaps/103-react/content/102-components/103-props-vs-state.md
  16. 0
      content/roadmaps/103-react/content/102-components/104-conditional-rendering.md
  17. 0
      content/roadmaps/103-react/content/102-components/105-composition-vs-inheritance.md
  18. 0
      content/roadmaps/103-react/content/102-components/readme.md
  19. 11
      content/roadmaps/103-react/content/102-react-ecosystem/101-ssr/readme.md
  20. 8
      content/roadmaps/103-react/content/102-react-ecosystem/102-ssg/101-gatsby.md
  21. 9
      content/roadmaps/103-react/content/102-react-ecosystem/102-ssg/readme.md
  22. 9
      content/roadmaps/103-react/content/102-react-ecosystem/103-api-calls/101-use-http.md
  23. 6
      content/roadmaps/103-react/content/102-react-ecosystem/103-api-calls/105-unfetch.md
  24. 8
      content/roadmaps/103-react/content/102-react-ecosystem/107-state-management/101-redux/100-redux-toolkit.md
  25. 8
      content/roadmaps/103-react/content/102-react-ecosystem/readme.md
  26. 0
      content/roadmaps/103-react/content/103-rendering/100-component-life-cycle.md
  27. 0
      content/roadmaps/103-react/content/103-rendering/101-lists-and-keys.md
  28. 0
      content/roadmaps/103-react/content/103-rendering/102-render-props.md
  29. 0
      content/roadmaps/103-react/content/103-rendering/103-refs.md
  30. 0
      content/roadmaps/103-react/content/103-rendering/104-events.md
  31. 0
      content/roadmaps/103-react/content/103-rendering/105-high-order-components.md
  32. 16
      content/roadmaps/103-react/content/103-rendering/readme.md
  33. 0
      content/roadmaps/103-react/content/104-hooks/100-basic-hooks/100-use-state.md
  34. 0
      content/roadmaps/103-react/content/104-hooks/100-basic-hooks/101-use-effect.md
  35. 1
      content/roadmaps/103-react/content/104-hooks/100-basic-hooks/readme.md
  36. 0
      content/roadmaps/103-react/content/104-hooks/101-writing-your-own-hooks.md
  37. 0
      content/roadmaps/103-react/content/104-hooks/102-common-hooks.md
  38. 5
      content/roadmaps/103-react/content/104-hooks/readme.md
  39. 0
      content/roadmaps/103-react/content/105-routers/100-react-router.md
  40. 1
      content/roadmaps/103-react/content/105-routers/101-reach-router.md
  41. 0
      content/roadmaps/103-react/content/105-routers/readme.md
  42. 0
      content/roadmaps/103-react/content/106-state-management/100-context.md
  43. 1
      content/roadmaps/103-react/content/106-state-management/101-zustand.md
  44. 6
      content/roadmaps/103-react/content/106-state-management/102-redux-and-redux-toolkit.md
  45. 0
      content/roadmaps/103-react/content/106-state-management/103-mobx.md
  46. 17
      content/roadmaps/103-react/content/106-state-management/104-recoil.md
  47. 0
      content/roadmaps/103-react/content/106-state-management/readme.md
  48. 0
      content/roadmaps/103-react/content/107-styling/100-styled-components.md
  49. 0
      content/roadmaps/103-react/content/107-styling/101-emotion.md
  50. 0
      content/roadmaps/103-react/content/107-styling/102-mantine.md
  51. 10
      content/roadmaps/103-react/content/107-styling/103-tailwind.md
  52. 0
      content/roadmaps/103-react/content/107-styling/104-material-ui.md
  53. 0
      content/roadmaps/103-react/content/107-styling/105-chakra-ui.md
  54. 0
      content/roadmaps/103-react/content/107-styling/readme.md
  55. 0
      content/roadmaps/103-react/content/108-api-calls/100-apollo.md
  56. 2
      content/roadmaps/103-react/content/108-api-calls/101-relay.md
  57. 15
      content/roadmaps/103-react/content/108-api-calls/102-urql.md
  58. 3
      content/roadmaps/103-react/content/108-api-calls/103-swr.md
  59. 1
      content/roadmaps/103-react/content/108-api-calls/104-react-query.md
  60. 0
      content/roadmaps/103-react/content/108-api-calls/105-axios.md
  61. 0
      content/roadmaps/103-react/content/108-api-calls/106-superagent.md
  62. 0
      content/roadmaps/103-react/content/108-api-calls/readme.md
  63. 0
      content/roadmaps/103-react/content/109-testing/100-jest.md
  64. 0
      content/roadmaps/103-react/content/109-testing/101-vitest.md
  65. 0
      content/roadmaps/103-react/content/109-testing/102-react-testing-library.md
  66. 0
      content/roadmaps/103-react/content/109-testing/103-cypress.md
  67. 0
      content/roadmaps/103-react/content/109-testing/104-playwright.md
  68. 0
      content/roadmaps/103-react/content/109-testing/readme.md
  69. 0
      content/roadmaps/103-react/content/110-frameworks/100-remix.md
  70. 0
      content/roadmaps/103-react/content/110-frameworks/101-next-js.md
  71. 8
      content/roadmaps/103-react/content/110-frameworks/readme.md
  72. 0
      content/roadmaps/103-react/content/111-forms/100-react-hook-form.md
  73. 4
      content/roadmaps/103-react/content/111-forms/101-formik.md
  74. 1
      content/roadmaps/103-react/content/111-forms/102-final-form.md
  75. 0
      content/roadmaps/103-react/content/111-forms/readme.md
  76. 13
      content/roadmaps/103-react/content/112-suspense.md
  77. 0
      content/roadmaps/103-react/content/113-portals.md
  78. 0
      content/roadmaps/103-react/content/114-error-boundaries.md
  79. 2
      content/roadmaps/103-react/content/115-fiber-architecture.md
  80. 2
      content/roadmaps/103-react/content/116-mobile/100-react-native.md
  81. 0
      content/roadmaps/103-react/content/116-mobile/readme.md
  82. 9
      content/roadmaps/103-react/meta.json
  83. 7
      content/roadmaps/103-react/resources.md
  84. 8262
      public/project/react.json
  85. 2
      public/sitemap.xml

@ -251,7 +251,6 @@
"isTextHeavy": false,
"isCommunity": false,
"featured": true,
"resourcesPath": "/roadmaps/103-react/resources.md",
"jsonUrl": "/project/react.json",
"versions": [
"latest",

@ -1,73 +1,70 @@
{
"home": "/roadmaps/103-react/content/readme.md",
"react-advanced-topics": "/roadmaps/103-react/content/101-react-advanced-topics/readme.md",
"react-advanced-topics:hooks": "/roadmaps/103-react/content/101-react-advanced-topics/100-hooks/readme.md",
"react-advanced-topics:hooks:common-hooks": "/roadmaps/103-react/content/101-react-advanced-topics/100-hooks/102-common-hooks.md",
"react-advanced-topics:hooks:writing-your-own-hooks": "/roadmaps/103-react/content/101-react-advanced-topics/100-hooks/101-writing-your-own-hooks.md",
"react-advanced-topics:context": "/roadmaps/103-react/content/101-react-advanced-topics/101-context.md",
"react-advanced-topics:refs": "/roadmaps/103-react/content/101-react-advanced-topics/102-refs.md",
"react-advanced-topics:render-props": "/roadmaps/103-react/content/101-react-advanced-topics/103-render-props.md",
"react-advanced-topics:high-order-components": "/roadmaps/103-react/content/101-react-advanced-topics/104-high-order-components.md",
"react-advanced-topics:portals": "/roadmaps/103-react/content/101-react-advanced-topics/105-portals.md",
"react-advanced-topics:error-boundaries": "/roadmaps/103-react/content/101-react-advanced-topics/106-error-boundaries.md",
"react-advanced-topics:fiber-architecture": "/roadmaps/103-react/content/101-react-advanced-topics/107-fiber-architecture.md",
"react-fundamental-topics": "/roadmaps/103-react/content/100-react-fundamental-topics/readme.md",
"react-fundamental-topics:cli-tools": "/roadmaps/103-react/content/100-react-fundamental-topics/100-cli-tools/readme.md",
"react-fundamental-topics:cli-tools:create-react-app": "/roadmaps/103-react/content/100-react-fundamental-topics/100-cli-tools/100-create-react-app.md",
"react-fundamental-topics:cli-tools:vite": "/roadmaps/103-react/content/100-react-fundamental-topics/100-cli-tools/101-vite.md",
"react-fundamental-topics:create-react-app": "/roadmaps/103-react/content/100-react-fundamental-topics/100-create-react-app.md",
"react-fundamental-topics:jsx": "/roadmaps/103-react/content/100-react-fundamental-topics/101-jsx.md",
"react-fundamental-topics:components": "/roadmaps/103-react/content/100-react-fundamental-topics/102-components/readme.md",
"react-fundamental-topics:components:functional-components": "/roadmaps/103-react/content/100-react-fundamental-topics/102-components/100-functional-components.md",
"react-fundamental-topics:components:class-components": "/roadmaps/103-react/content/100-react-fundamental-topics/102-components/101-class-components.md",
"react-fundamental-topics:props-vs-state": "/roadmaps/103-react/content/100-react-fundamental-topics/103-props-vs-state.md",
"react-fundamental-topics:conditional-rendering": "/roadmaps/103-react/content/100-react-fundamental-topics/104-conditional-rendering.md",
"react-fundamental-topics:component-life-cycle": "/roadmaps/103-react/content/100-react-fundamental-topics/105-component-life-cycle.md",
"react-fundamental-topics:lists-and-keys": "/roadmaps/103-react/content/100-react-fundamental-topics/106-lists-and-keys.md",
"react-fundamental-topics:composition-vs-inheritance": "/roadmaps/103-react/content/100-react-fundamental-topics/107-composition-vs-inheritance.md",
"react-fundamental-topics:basic-hooks": "/roadmaps/103-react/content/100-react-fundamental-topics/108-basic-hooks/readme.md",
"react-fundamental-topics:basic-hooks:use-state": "/roadmaps/103-react/content/100-react-fundamental-topics/108-basic-hooks/100-use-state.md",
"react-fundamental-topics:basic-hooks:use-effect": "/roadmaps/103-react/content/100-react-fundamental-topics/108-basic-hooks/101-use-effect.md",
"react-fundamental-topics:events": "/roadmaps/103-react/content/100-react-fundamental-topics/109-events.md",
"react-ecosystem": "/roadmaps/103-react/content/102-react-ecosystem/readme.md",
"react-ecosystem:routers": "/roadmaps/103-react/content/102-react-ecosystem/100-routers/readme.md",
"react-ecosystem:routers:react-router": "/roadmaps/103-react/content/102-react-ecosystem/100-routers/100-react-router.md",
"react-ecosystem:routers:reach-router": "/roadmaps/103-react/content/102-react-ecosystem/100-routers/101-reach-router.md",
"react-ecosystem:ssr": "/roadmaps/103-react/content/102-react-ecosystem/101-ssr/readme.md",
"react-ecosystem:ssr:next-js": "/roadmaps/103-react/content/102-react-ecosystem/101-ssr/100-next-js.md",
"react-ecosystem:ssr:remix": "/roadmaps/103-react/content/102-react-ecosystem/101-ssr/100-remix.md",
"react-ecosystem:ssg": "/roadmaps/103-react/content/102-react-ecosystem/102-ssg/readme.md",
"react-ecosystem:ssg:gatsby": "/roadmaps/103-react/content/102-react-ecosystem/102-ssg/101-gatsby.md",
"react-ecosystem:api-calls": "/roadmaps/103-react/content/102-react-ecosystem/103-api-calls/readme.md",
"react-ecosystem:api-calls:react-query": "/roadmaps/103-react/content/102-react-ecosystem/103-api-calls/100-react-query.md",
"react-ecosystem:api-calls:swr": "/roadmaps/103-react/content/102-react-ecosystem/103-api-calls/101-swr.md",
"react-ecosystem:api-calls:apollo": "/roadmaps/103-react/content/102-react-ecosystem/103-api-calls/102-apollo.md",
"react-ecosystem:api-calls:relay-modern": "/roadmaps/103-react/content/102-react-ecosystem/103-api-calls/103-relay-modern.md",
"react-ecosystem:api-calls:axios": "/roadmaps/103-react/content/102-react-ecosystem/103-api-calls/104-axios.md",
"react-ecosystem:api-calls:unfetch": "/roadmaps/103-react/content/102-react-ecosystem/103-api-calls/105-unfetch.md",
"react-ecosystem:api-calls:superagent": "/roadmaps/103-react/content/102-react-ecosystem/103-api-calls/106-superagent.md",
"react-ecosystem:mobile": "/roadmaps/103-react/content/102-react-ecosystem/104-mobile/readme.md",
"react-ecosystem:mobile:react-native": "/roadmaps/103-react/content/102-react-ecosystem/104-mobile/100-react-native.md",
"react-ecosystem:forms": "/roadmaps/103-react/content/102-react-ecosystem/105-forms/readme.md",
"react-ecosystem:forms:react-hook-form": "/roadmaps/103-react/content/102-react-ecosystem/105-forms/100-react-hook-form.md",
"react-ecosystem:forms:formik": "/roadmaps/103-react/content/102-react-ecosystem/105-forms/101-formik.md",
"react-ecosystem:forms:final-form": "/roadmaps/103-react/content/102-react-ecosystem/105-forms/102-final-form.md",
"react-ecosystem:testing": "/roadmaps/103-react/content/102-react-ecosystem/106-testing/readme.md",
"react-ecosystem:testing:jest": "/roadmaps/103-react/content/102-react-ecosystem/106-testing/100-jest.md",
"react-ecosystem:testing:vitest": "/roadmaps/103-react/content/102-react-ecosystem/106-testing/103-vitest.md",
"react-ecosystem:testing:playwright": "/roadmaps/103-react/content/102-react-ecosystem/106-testing/104-playwright.md",
"react-ecosystem:testing:react-testing-library": "/roadmaps/103-react/content/102-react-ecosystem/106-testing/101-react-testing-library.md",
"react-ecosystem:testing:cypress": "/roadmaps/103-react/content/102-react-ecosystem/106-testing/102-cypress.md",
"react-ecosystem:state-management": "/roadmaps/103-react/content/102-react-ecosystem/107-state-management/readme.md",
"react-ecosystem:state-management:context-state": "/roadmaps/103-react/content/102-react-ecosystem/107-state-management/100-context-state.md",
"react-ecosystem:state-management:zustand": "/roadmaps/103-react/content/102-react-ecosystem/107-state-management/101-zustand.md",
"react-ecosystem:state-management:redux": "/roadmaps/103-react/content/102-react-ecosystem/107-state-management/101-redux/readme.md",
"react-ecosystem:state-management:redux:redux-toolkit": "/roadmaps/103-react/content/102-react-ecosystem/107-state-management/101-redux/100-redux-toolkit.md",
"react-ecosystem:state-management:mobx": "/roadmaps/103-react/content/102-react-ecosystem/107-state-management/102-mobx.md",
"react-ecosystem:styling": "/roadmaps/103-react/content/102-react-ecosystem/108-styling/readme.md",
"react-ecosystem:styling:chakra-ui": "/roadmaps/103-react/content/102-react-ecosystem/108-styling/100-chakra-ui.md",
"react-ecosystem:styling:material-ui": "/roadmaps/103-react/content/102-react-ecosystem/108-styling/101-material-ui.md",
"react-ecosystem:styling:mantine": "/roadmaps/103-react/content/102-react-ecosystem/108-styling/102-mantine.md",
"react-ecosystem:styling:styled-components": "/roadmaps/103-react/content/102-react-ecosystem/108-styling/103-styled-components.md",
"react-ecosystem:styling:emotion": "/roadmaps/103-react/content/102-react-ecosystem/108-styling/104-emotion.md"
"cli-tools": "/roadmaps/103-react/content/101-cli-tools/readme.md",
"cli-tools:create-react-app": "/roadmaps/103-react/content/101-cli-tools/101-create-react-app.md",
"cli-tools:vite": "/roadmaps/103-react/content/101-cli-tools/100-vite.md",
"components": "/roadmaps/103-react/content/102-components/readme.md",
"components:functional-components": "/roadmaps/103-react/content/102-components/101-functional-components.md",
"components:class-components": "/roadmaps/103-react/content/102-components/100-class-components.md",
"components:jsx": "/roadmaps/103-react/content/102-components/102-jsx.md",
"components:props-vs-state": "/roadmaps/103-react/content/102-components/103-props-vs-state.md",
"components:conditional-rendering": "/roadmaps/103-react/content/102-components/104-conditional-rendering.md",
"components:composition-vs-inheritance": "/roadmaps/103-react/content/102-components/105-composition-vs-inheritance.md",
"rendering": "/roadmaps/103-react/content/103-rendering/readme.md",
"rendering:lists-and-keys": "/roadmaps/103-react/content/103-rendering/101-lists-and-keys.md",
"rendering:component-life-cycle": "/roadmaps/103-react/content/103-rendering/100-component-life-cycle.md",
"rendering:render-props": "/roadmaps/103-react/content/103-rendering/102-render-props.md",
"rendering:refs": "/roadmaps/103-react/content/103-rendering/103-refs.md",
"rendering:events": "/roadmaps/103-react/content/103-rendering/104-events.md",
"rendering:high-order-components": "/roadmaps/103-react/content/103-rendering/105-high-order-components.md",
"hooks": "/roadmaps/103-react/content/104-hooks/readme.md",
"hooks:basic-hooks": "/roadmaps/103-react/content/104-hooks/100-basic-hooks/readme.md",
"hooks:basic-hooks:use-state": "/roadmaps/103-react/content/104-hooks/100-basic-hooks/100-use-state.md",
"hooks:basic-hooks:use-effect": "/roadmaps/103-react/content/104-hooks/100-basic-hooks/101-use-effect.md",
"hooks:writing-your-own-hooks": "/roadmaps/103-react/content/104-hooks/101-writing-your-own-hooks.md",
"hooks:common-hooks": "/roadmaps/103-react/content/104-hooks/102-common-hooks.md",
"routers": "/roadmaps/103-react/content/105-routers/readme.md",
"routers:react-router": "/roadmaps/103-react/content/105-routers/100-react-router.md",
"routers:reach-router": "/roadmaps/103-react/content/105-routers/101-reach-router.md",
"state-management": "/roadmaps/103-react/content/106-state-management/readme.md",
"state-management:context": "/roadmaps/103-react/content/106-state-management/100-context.md",
"state-management:zustand": "/roadmaps/103-react/content/106-state-management/101-zustand.md",
"state-management:redux-and-redux-toolkit": "/roadmaps/103-react/content/106-state-management/102-redux-and-redux-toolkit.md",
"state-management:mobx": "/roadmaps/103-react/content/106-state-management/103-mobx.md",
"state-management:recoil": "/roadmaps/103-react/content/106-state-management/104-recoil.md",
"styling": "/roadmaps/103-react/content/107-styling/readme.md",
"styling:chakra-ui": "/roadmaps/103-react/content/107-styling/105-chakra-ui.md",
"styling:material-ui": "/roadmaps/103-react/content/107-styling/104-material-ui.md",
"styling:mantine": "/roadmaps/103-react/content/107-styling/102-mantine.md",
"styling:tailwind": "/roadmaps/103-react/content/107-styling/103-tailwind.md",
"styling:styled-components": "/roadmaps/103-react/content/107-styling/100-styled-components.md",
"styling:emotion": "/roadmaps/103-react/content/107-styling/101-emotion.md",
"api-calls": "/roadmaps/103-react/content/108-api-calls/readme.md",
"api-calls:apollo": "/roadmaps/103-react/content/108-api-calls/100-apollo.md",
"api-calls:relay": "/roadmaps/103-react/content/108-api-calls/101-relay.md",
"api-calls:urql": "/roadmaps/103-react/content/108-api-calls/102-urql.md",
"api-calls:swr": "/roadmaps/103-react/content/108-api-calls/103-swr.md",
"api-calls:axios": "/roadmaps/103-react/content/108-api-calls/105-axios.md",
"api-calls:superagent": "/roadmaps/103-react/content/108-api-calls/106-superagent.md",
"api-calls:react-query": "/roadmaps/103-react/content/108-api-calls/104-react-query.md",
"testing": "/roadmaps/103-react/content/109-testing/readme.md",
"testing:jest": "/roadmaps/103-react/content/109-testing/100-jest.md",
"testing:vitest": "/roadmaps/103-react/content/109-testing/101-vitest.md",
"testing:react-testing-library": "/roadmaps/103-react/content/109-testing/102-react-testing-library.md",
"testing:cypress": "/roadmaps/103-react/content/109-testing/103-cypress.md",
"testing:playwright": "/roadmaps/103-react/content/109-testing/104-playwright.md",
"frameworks": "/roadmaps/103-react/content/110-frameworks/readme.md",
"frameworks:next-js": "/roadmaps/103-react/content/110-frameworks/101-next-js.md",
"frameworks:remix": "/roadmaps/103-react/content/110-frameworks/100-remix.md",
"forms": "/roadmaps/103-react/content/111-forms/readme.md",
"forms:react-hook-form": "/roadmaps/103-react/content/111-forms/100-react-hook-form.md",
"forms:formik": "/roadmaps/103-react/content/111-forms/101-formik.md",
"forms:final-form": "/roadmaps/103-react/content/111-forms/102-final-form.md",
"suspense": "/roadmaps/103-react/content/112-suspense.md",
"portals": "/roadmaps/103-react/content/113-portals.md",
"error-boundaries": "/roadmaps/103-react/content/114-error-boundaries.md",
"fiber-architecture": "/roadmaps/103-react/content/115-fiber-architecture.md",
"mobile": "/roadmaps/103-react/content/116-mobile/readme.md",
"mobile:react-native": "/roadmaps/103-react/content/116-mobile/100-react-native.md",
"react-roadmap-note": "/roadmaps/103-react/content/100-react-roadmap-note.md"
}

@ -1,9 +0,0 @@
# Create React App
Create React App is the CLI based tool and is the best way to start building a new single-page application in React.
It sets up your development environment so that you can use the latest JavaScript features, provides a nice developer experience, and optimizes your app for production. You’ll need to have Node >= 14.0.0 and npm >= 5.6 on your machine.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://create-react-app.dev/docs/getting-started'>Official Website</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.robinwieruch.de/minimal-react-webpack-babel-setup/'>Advanced: Custom Setup with Webpack</BadgeLink>

@ -1,8 +0,0 @@
# useContext Hook
`useContext` hook is used to read and subscribe to context from your component. Context allows a parent component to pass data down the entire component tree below it.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://beta.reactjs.org/apis/react/useContext'>Using the Context Hook</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=5LrDIWkK_Bc'>Learn useContext in 13 Minutes</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.robinwieruch.de/react-usecontext-hook'>How to useContext in React</BadgeLink>

@ -1,7 +0,0 @@
# React
React is a JavaScript library for building user interfaces. It is an open-source, component-based front end library responsible only for the view layer of the application.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://reactjs.org/'>Official Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://reactjs.org/docs/getting-started.html'>Official Documentation</BadgeLink>

@ -0,0 +1,3 @@
# Note
This roadmap specifically covers **React and the ecosystem** around it. You will notice that it is missing things like version control, package managers, build tools, linters, task runners and other things that are not directly related to React; this is intentional. Have a look at the [Frontend Roadmap](/roadmaps/frontend) for a more comprehensive overview of the frontend ecosystem.

@ -1,9 +0,0 @@
# Context
Context provides a way to pass data through the component tree without having to pass props down manually at every level.
In a typical React application, data is passed top-down (parent to child) via props, but such usage can be cumbersome for certain types of props (e.g. locale preference, UI theme) that are required by many components within an application. Context provides a way to share values like these between components without having to explicitly pass a prop through every level of the tree.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://reactjs.org/docs/context.html'>Official React Context Docs</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.robinwieruch.de/react-context/'>React Context: Why, How, and When</BadgeLink>

@ -1,3 +0,0 @@
# Advanced Topics
Now that you have covered the basics, next we have the advanced topics such as advanced hook topics, context, refs, portals, error boundaries and more.

@ -1,11 +0,0 @@
# Server-side rendering
Server-side rendering refers to the process that the service side completes the HTML structure splicing of the page, sends it to the browser, and then binds the status and events for it to become a fully interactive page.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Read' href='https://www.educative.io/answers/what-is-server-side-rendering'>what is server side rendering</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Read' href='https://medium.com/@mbleigh/when-should-i-server-side-render-c2a383ff2d0f'>When should I Server-Side Render?</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Read' href='https://vuejs.org/guide/scaling-up/ssr.html'>Server-Side Rendering (SSR)</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=GQzn7XRdzxY'>what is server side rendering?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=okvg3MRAPs0'>What is server-side rendering for web development?</BadgeLink>

@ -1,8 +0,0 @@
# Gatsby
Gatsby is a React-based open source framework with performance, scalability and security built-in.
<ResourceGroupTitle>Free Resources</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://www.gatsbyjs.com/'>Gatsby Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Docs' href='https://www.gatsbyjs.com/docs'>Gatsby Docs</BadgeLink>
<BadgeLink badgeText='Watch' href='https://youtube.com/playlist?list=PL4cUxeGkcC9hw1g77I35ZivVLe8k2nvjB'>Gatsby Tutorial</BadgeLink>

@ -1,9 +0,0 @@
# Static Site Generators
A static site generator is a tool that generates a full static HTML website based on raw data and a set of templates. Essentially, a static site generator automates the task of coding individual HTML pages and gets those pages ready to serve to users ahead of time. Because these HTML pages are pre-built, they can load very quickly in users' browsers.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.cloudflare.com/learning/performance/static-site-generator/'>What is a static site generator?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://nextjs.org/docs/advanced-features/static-html-export'>Next.js SSG</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.gatsbyjs.com/docs/glossary/static-site-generator/'>Gatsby SSG</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.smashingmagazine.com/2021/10/building-ssg-11ty-vite-jam-sandwich/'>SSG — An 11ty, Vite And JAM Sandwich</BadgeLink>

@ -1,9 +0,0 @@
# use-http
React hook for making isomorphic http requests.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://use-http.com/#/'>Official Website: use-http</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='GitHub Repository' href='https://github.com/ava/use-http'>ava / use-http</BadgeLink>

@ -1,6 +0,0 @@
# Unfetch
Unfetch is the bare minimum 500b [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) polyfill.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='GitHub Repository' href='https://github.com/developit/unfetch'>Official GitHub Repository</BadgeLink>

@ -1,8 +0,0 @@
# Redux Toolkit
Redux Toolkit (RTK) is a library for managing state in JavaScript applications. It is an opinionated set of tools and utilities for building Redux applications, and it is designed to make it easier and faster to build Redux applications.
RTK is often used as an alternative to writing Redux applications from scratch, as it provides a set of conventions and utilities that can make it easier and faster to build Redux applications.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://redux-toolkit.js.org/'>Redux Toolkit - ReduxJS</BadgeLink>

@ -1,8 +0,0 @@
# Ecosystem
Thanks to its popularity, React has been enriched by a vast ecosystem of plugins and tools. A (long) list is available here: [awesome-react](https://github.com/enaqx/awesome-react).
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Awesome React' href='https://github.com/enaqx/awesome-react'>Awesome React</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Awesome React Components' href='https://github.com/brillout/awesome-react-components'>Awesome React Components</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.robinwieruch.de/react-libraries/'>Popular React Libraries</BadgeLink>

@ -0,0 +1,16 @@
# Rendering
React follows a declarative approach to rendering components, which means that developers specify what a component should look like, and React takes care of rendering the component to the screen. This is in contrast to an imperative approach, where developers would write code to manually manipulate the DOM (Document Object Model) to update the UI.
The virtual DOM (VDOM) is an important aspect of how React works. It is a lightweight in-memory representation of the DOM (Document Object Model), and it is used to optimize the rendering of components in a React application.
* Components are written as JavaScript classes or functions that define a render method. The render method returns a description of what the component should look like, using JSX syntax.
* When a component is rendered, React creates a virtual DOM (VDOM) representation of the component. The VDOM is a lightweight in-memory representation of the DOM, and it is used to optimize the rendering of components.
* React compares the VDOM representation of the component with the previous VDOM representation (if it exists). If there are differences between the two VDOMs, React calculates the minimum number of DOM updates needed to bring the actual DOM into line with the new VDOM.
* React updates the actual DOM with the minimum number of DOM updates needed to reflect the changes in the VDOM.
This process is known as reconciliation, and it is an important aspect of how React works. By using a declarative approach and a VDOM, React is able to optimize the rendering of components and improve the performance of web applications.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/news/react-under-the-hood/'>React.js under the Hood</BadgeLink>

@ -2,7 +2,6 @@
Hooks were introduced in React 16.8 and they let us use React's features-like managing your component's state and or performing an after effect when certain changes occur in state(s) without writing a class.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://reactjs.org/docs/hooks-intro.html'>Introduction to Hooks</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://reactjs.org/docs/hooks-reference.html'>Hooks Reference</BadgeLink>

@ -1,8 +1,7 @@
# React Hooks
# Hooks
Hooks were introduced in React 16.8 and they let us use state and other React features without writing a class
Hooks were introduced in React 16.8 and they let us use React's features-like managing your component's state and or performing an after effect when certain changes occur in state(s) without writing a class.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://reactjs.org/docs/hooks-intro.html'>Introduction to Hooks</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://reactjs.org/docs/hooks-reference.html'>Hooks Reference</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.robinwieruch.de/react-hooks/'>Hooks by Example</BadgeLink>

@ -5,4 +5,3 @@ Reach Router is a small, simple router for React that borrows from React Router,
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://reach.tech/router/'>Reach Router — Official Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://reach.tech/router/tutorial/01-intro'>Getting Started Guide</BadgeLink>

@ -6,4 +6,3 @@ Zustand is often used as an alternative to other state management libraries, suc
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://github.com/pmndrs/zustand'>Zustand - Official Website</BadgeLink>

@ -2,8 +2,12 @@
Redux is a predictable state container for JavaScript apps. It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. On top of that, it provides a great developer experience, such as [live code editing combined with a time traveling debugger](https://github.com/reduxjs/redux-devtools).
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
Redux Toolkit (RTK) is a library for managing state in JavaScript applications. It is an opinionated set of tools and utilities for building Redux applications, and it is designed to make it easier and faster to build Redux applications.
RTK is often used as an alternative to writing Redux applications from scratch, as it provides a set of conventions and utilities that can make it easier and faster to build Redux applications.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://redux-toolkit.js.org/'>Redux Toolkit - ReduxJS</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://redux.js.org/'>Official Website</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://redux.js.org/introduction/getting-started'>Official Getting Started to Redux</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://redux-toolkit.js.org'>Redux Toolkit Official Website</BadgeLink>

@ -0,0 +1,17 @@
# Recoil
Recoil is a library for managing state in React applications.
Recoil is designed to be easy to use and efficient, with a focus on improving the performance and scalability of large, complex React applications. It is based on the concept of atoms and selectors, which are used to manage the state of a component. Atoms represent the state of a component, and selectors are used to derive new state from atoms.
Recoil provides a set of utilities and APIs for managing state, including:
- atom: A utility for creating atoms, which represent the state of a component.
- selector: A utility for creating selectors, which are used to derive new state from atoms.
- useRecoilValue: A hook for accessing the value of an atom or selector in a component.
- useSetRecoilState: A hook for updating the value of an atom in a component.
Recoil is often used as an alternative to other state management libraries, such as Redux and MobX, because of its simplicity and performance. It is particularly well-suited for large, complex React applications where the overhead of other state management libraries may be too high.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://recoiljs.org/'>Recoil - Official Website</BadgeLink>

@ -0,0 +1,10 @@
# Tailwind CSS
CSS Framework that provides atomic CSS classes to help you style components e.g. `flex`, `pt-4`, `text-center` and `rotate-90` that can be composed to build any design, directly in your markup.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://tailwindcss.com'>Tailwind Website</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.codemag.com/Article/2105091/Tailwind-CSS-An-Introduction'>Tailwind CSS: An Introduction</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/c/TailwindLabs/videos'>Official Screencasts</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=hdGsFpZ0J2E'>Should You Use Tailwind CSS?</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=UBOj6rqRUME'>Tailwind CSS Crash Course</BadgeLink>

@ -1,4 +1,4 @@
# Relay Modern
# Relay
Relay is a JavaScript client used in the browser to fetch GraphQL data. It's a JavaScript framework developed by Facebook for managing and fetching data in React applications. It is built with scalability in mind in order to power complex applications like Facebook. The ultimate goal of GraphQL and Relay is to deliver instant UI-response interactions.

@ -0,0 +1,15 @@
# urql
urql (Universal React Query Library) is a library for managing GraphQL data in React applications. It is developed and maintained by Formidable Labs and is available as open-source software.
urql is designed to be easy to use and flexible, with a simple API for performing GraphQL queries and mutations. It is based on the concept of a client, which is used to manage the GraphQL data for an application. The client provides a set of utilities and APIs for managing GraphQL data, including:
- executeQuery: A utility for executing a GraphQL query.
- executeMutation: A utility for executing a GraphQL mutation.
- useQuery: A hook for executing a GraphQL query and accessing the result in a component.
- useMutation: A hook for executing a GraphQL mutation and accessing the result in a component.
urql is often used as an alternative to other GraphQL libraries, such as Apollo Client, because of its simplicity and lightweight size. It is particularly well-suited for small to medium-sized React applications where the complexity of other GraphQL libraries may not be required.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://formidable.com/open-source/urql/'>urql - Formidable Labs</BadgeLink>

@ -8,6 +8,3 @@ With just one hook, you can significantly simplify the data fetching logic in yo
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://swr.vercel.app/'>SWR: React Hooks for Data Fetching</BadgeLink>

@ -6,4 +6,3 @@ Powerful asynchronous state management, server-state utilities and data fetching
<BadgeLink colorScheme='blue' badgeText='GitHub Repository' href='https://github.com/TanStack/query'>TanStack Query</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=novnyCaa7To'>React Query in 100 Seconds</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.youtube.com/playlist?list=PLC3y8-rFHvwjTELCrPrcZlo6blLBUspd2'>React Query Tutorial for Beginners - Complete Playlist</BadgeLink>

@ -0,0 +1,8 @@
# SSR Frameworks
Server-side rendering (SSR) is a technique for rendering a JavaScript application on the server, rather than in the browser. This can improve the performance and user experience of a web application, as the initial render of the application is done on the server and the content is sent to the browser as a fully-rendered HTML page.
There are several frameworks and libraries available for server-side rendering React applications, most common being:
- [Next.js](https://nextjs.org/)
- [Remix](https://remix.run/)

@ -6,7 +6,3 @@ Formik is another famous opensource form library that helps with getting values
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://formik.org/'>Official Website — Formik</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://formik.org/docs/overview'>Getting Started</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='GitHub Repository' href='https://github.com/formik/formik'>formik/formik</BadgeLink>

@ -5,4 +5,3 @@ High performance subscription-based form state management for React.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://final-form.org/react'>Final Form — Official Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='GitHub Repository' href='https://github.com/final-form/react-final-form'>final-form / react-final-form</BadgeLink>

@ -0,0 +1,13 @@
# Suspense
React Suspense is a feature in React that allows components to "suspend" rendering while they are waiting for something to happen, such as data to be fetched from an API or an image to be loaded. Suspense allows developers to create a more seamless user experience by rendering a placeholder or fallback component while the component is waiting for the required data to be available.
Here is a general overview of how React Suspense works:
- A component that uses Suspense wraps a component that may need to "suspend" rendering in a `Suspense` component.
- The wrapped component throws a promise when it needs to suspend rendering.
- The `Suspense` component catches the promise and renders a fallback component while the promise is pending.
- When the promise resolves, the wrapped component is rendered with the required data.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://reactjs.org/docs/react-api.html#suspense'>React Suspense - Official Docs</BadgeLink>

@ -5,5 +5,3 @@ React 16.0 was released with an update to the React core algorithm. This new cor
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://github.com/acdlite/react-fiber-architecture'>React Fiber Architecture</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://dzone.com/articles/understanding-of-react-fiber-architecture'>Understanding React Fiber Architecture</BadgeLink>

@ -5,5 +5,3 @@ React Native is an open-source UI software framework created by Meta Platforms,
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://reactnative.dev/'>React Native: Official Website</BadgeLink>
<BadgeLink colorScheme='blue' badgeText='Official Docs' href='https://reactnative.dev/docs/getting-started'>Official Getting Started</BadgeLink>

@ -3,8 +3,8 @@
"title": "React Developer Roadmap: Learn to become a React developer",
"description": "Community driven, articles, resources, guides, interview questions, quizzes for react development. Learn to become a modern React developer by following the steps, skills, resources and guides listed in this roadmap.",
"keywords": [
"react roadmap 2022",
"react developer roadmap 2022",
"react roadmap 2023",
"react developer roadmap 2023",
"guide to becoming a react developer",
"react developer roadmap",
"react roadmap",
@ -19,14 +19,13 @@
]
},
"title": "React Developer",
"description": "Everything that is there to learn about React and the ecosystem in 2022.",
"description": "Everything that is there to learn about React and the ecosystem in 2023.",
"featuredTitle": "React",
"type": "tool",
"featuredDescription": "Step by step guide to become a React Developer in 2022",
"featuredDescription": "Step by step guide to become a React Developer in 2023",
"isTextHeavy": false,
"isCommunity": false,
"featured": true,
"resourcesPath": "./resources.md",
"jsonUrl": "/project/react.json",
"versions": [
"latest",

@ -1,7 +0,0 @@
> **We are still preparing the resources**. Please check back later or [subscribe to get notified](/signup).
While we prepare the list, follow this simple advice to learn anything
> Just **pick a project and start working on it**, you will learn all that you need along the way.
**&rarr;** &nbsp; [All Roadmaps](/roadmaps) &nbsp;&bull;&nbsp; [Programming guides](/guides) &nbsp;&bull;&nbsp; [Subscribe](/signup)

File diff suppressed because it is too large Load Diff

@ -27,7 +27,7 @@
<url>
<loc>https://roadmap.sh/react</loc>
<changefreq>monthly</changefreq>
<lastmod>2022-11-14T14:37:04.938Z</lastmod>
<lastmod>2022-12-28T15:28:34.355Z</lastmod>
<priority>1.0</priority>
</url>
<url>

Loading…
Cancel
Save