Learn Just Enough React to Move Out of your Parent\'s House
/ 5 min read
Introduction
I recently was helping a friend start building a website, and in hopes
of boosting his resume, chose to build it in
React, and because I think the best way to master
something is to teach it. I had picked up the frame work through work,
and I recommend React Holiday for anyone trying
to pick it up with just a few minutes a day to spare. The title came
from the number of friends that I have that have learned the popular
framework and then been able to move out of their parent’s house. I
also was inspired by the Hacker News Hiring
Trends which claims react has been the most
popular skill requested for 22 months and made up 28% of all job
postings in March 2019. Because of the surplus of tutorials that seem to
teach you Just Enough
{.verbatim} ™. Hopefully this post will be enough
to get you going from zero to out of your parent’s house.
Install git
You’ll want install git
{.verbatim} next. Follow the instructions at
this site to install for your platform.
VS Code
I personally don’t use VS Code, I use Doom Emacs but that’s a whole other beast. With that disclaimer I recommend VS Code to friends new to programming because it is the popular GUI editor of the hour. You can download it here.
Fira Code
A fun little thing to make you feel like a special snowflake is to
change your font in your editor. I like to recommend
FiraCode
{.verbatim} because it has ligature support with overwhelming
you with options. You can see how to install it on your system and add
it VS Code here.
Install nodejs
Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine. is the description their site gives. We’ll cover more on JS later. The link to the Download page.
Installing Extensions
One of the perks of VS Code is that it makes install extensions simple. They can be installed by clicking the square icon on the left side of VS Code. The list of what I recommend for following this guide:
- vscode-icons
- Bracket Pair Colorizer
- Debugger for Chrome
- GitLens
- One Dark Pro
- Settings Sync
- npm
- React Snippets
- VS Intellicode
- IntelliSense for CSS
- Path Intellisense
You should glance over each and see what they give you.
prettier
prettier
{.verbatim} formats the code you on save. Follow the
instructions on the page to set it up.
EditorConfig
Another way to keep your code clean and set a standard. Can you tell I like clean code?
eslint
ESLint
{.verbatim} tells you when you’ve done something wrong and
sometimes can fix it for you.
Integrated Terminal
If you know how to get a terminal on your system already awesome. If you
don’t know what I’m writing about, we’re just going to use the
integrated terminal. A quick doc on
it, I
recommend you use git bash
{.verbatim} if you’re on
windows.
GitHub
Create an Account
If you don’t have one yet that’s fine. It should be self explanatory. Bonus if you’re a student, sign up for the Student Pack. I am not spelling out a majority of this tutorial because of the various different platforms people are one would make it quite long, and because part of developing software is learning to read the friendly manual. Think of it more of a checklist.
Create a Repo
I would be doing the docs at GitHub a disservice if I tried to take
their tutorial so here is Creating a new
repository.
We won’t be covering a personal site today so name it whatever you
like. I’ll be referring to it as example-site
{.verbatim}.
Clone the repo
Using your Integrated Terminal
{.verbatim} follow this
guide to
clone your site. In my case it would be:
Getting the Site set up
Now that I’ve bored you with all of the tooling, or if you enjoyed it, we’re on to the real work.
Create React App
Is a great utility to get your up and running with React
{.verbatim}
If you installed nodejs
{.verbatim} correctly earlier this should go
off without a hitch and you should have a browser popup with your site.
This is a local
{.verbatim} site that hot reloads whenever you edit
anything in the project so you can get feedback if your change is
correct quickly.
GitHub Pages
Follow the
Procedure, you
should be able to skip to step 3. replace react-gh-pages
{.verbatim}
with example-site
{.verbatim} or whatever you chose.
CircleCI
Lastly, we’ll setup a CI/CD pipeline to automatically deploy and build
your site whenever you push code to master. You’ll want to create an
account and link your GitHub. We’ll be following
this blog
post.
Here is the .circleci/config.yml
{.verbatim} you’ll need to add to
your project.
React
It’s about time we actually talked about React
{.verbatim}. As you can
see though a good chunk of development is just setting up the project.
There’s obviously the link to the official documentation that comes in
the create-react
{.verbatim} starter page which I recommend you read.
But now that we’re to the actual meat I’ll take you through a few
things.
React bootstrap
If you’ve ever seen a basic website recently it might be made with bootstrap. It was recreated for use with React.
To get started with it run the following and then follow the docs.