Table of contents
React is one of the most popular libraries in the frontend world.
Being a backend developer for over 10 years, I agree I started with React 4 years ago and found it awesome ๐ . And there is no reason for me to switch.
Developers, you can buy some paid courses online by Stephen Grider(react), and Andrei Neagoie(zeroToMastery.io).
BUT... why can't you learn by doing?
For starters, on react homepage ReactJS, there are four example code snippets guiding you to the basics. This alone documentation is enough for you to bootstrap your react app from just printing something on a browser/console to building a full-stack application.
Start writing something, it won't come up... read documentation reactjs. It's the best site that gives insights into each and every line of code you write.
I would say you don't mimic already existing applications. Here are some of my ideas which if it helps, try it and if it not, please don't hesitate to ask questions.
Advice
For starters, learn the basics. That's enough, don't go deep...
First bootstrap a react application with CRA
npx create-react-app my-application
or any boilerplate code.I would recommend using functional components with hooks,MaterialUI, React Hook Form for form data, React Query for queries etc.
MUI/Material-UI
React Hook Form
**React Query
Now think of an idea or application you want to build. I recommend you build an app that represents your resume (more like a portfolio website). You can showcase this to recruiters once it's deployment-ready ๐คฉ.
Don't build re-usable components right away.
Start simple, go check StackOverflow and get some ideas in building
Appbar
,Sidebar
,Navbar
, or check for ideas to do them.Now, write some code and bring up the app.
Hardcode data, for now, there is no rush in getting data from API, and don't mess the code right away with APIs, databases, etc.
When you think your app is ready with hardcoded data. I would recommend Firebase as your database, everything JSON and you'll love it ๐.
Connect the Firebase with your app. Get some data and refactor the hardcoded data with API payloads.
Now where ever you feel you duplicated code, make them a reusable component. Like
Card
,ChipInput
,Modal
,Button
,TextField
,Notification
,Select
,Image
,cFileUpload
,ToolTip
,AutocompleteTextField
, and much more etc.Now once this is up and working... install redux and inflate the state. Connect the store and get it ready.
By this time your hands are dirty and you know what's happening within the app.
Now you are an intermediate React developer--------------
Do you want to become an expert?
Have an API wrapper that takes the request and serves you
API
data. This will be a pattern all yourXHR
requests follow.Each Component should serve a single purpose. If you think the feature you're adding should be separated, don't hesitate... Just separate, and later you can clean and make sure the code is readable.
Check for code quality, your code should not flood the state.
Now, check how many times each of your individual components are rendered. You should use
useCallback
oruseMemo
to reduce the number of re-renders. This will lower the b. Follow DOM.
Deploy the app using Netlify
This is quite easy. Follow the steps along to make your react app live.
We will use GitHub + Netlify to do the continuous deployment. So, whenever there is a fresh change in the repository, Netlify watches the changes and deploys the latest artifacts
onto the server.
You need to build the app first, by running the command
npm run build
. This will minify the app into the build folder under the root project directory.log in to your GitHub account, or signup if you don't have one.
Create a repository(either public/private repo) and push all of your react app code to this new repository.
Go to Netlify and signup.
After sign-up, they redirect you to the site's screen. Click New Site from Git and connect. Choose your GitHub account.
Don't choose All Repositories, choose Only select repositories to choose the latest repo you created and click install.
Don't change the defaults on Netlify, click on Deploy Site. This will start deploying your site and it will take some time to run the builds.
When the deployment is successful, you see Site is Live on Netlify Deploy Log.
You can set up your own domain or Netlify gives you a URL so you can share.
Note: Consider using NextJS to take your app to next level.
Don't buy all the paid courses. There are plenty of online free resources available and they would definitely help you. Spend a week determined and if you still feel there are bits and pieces missing. You can always buy a paid course.
I love React โค๏ธ frontend gives me some sort of aesthetic vibes!!!