A light, performant, and simple way to manage form data in ReactJS


The React Hook Form is an NPM package for ReactJS that helps simplify the management of form data as well as increasing code performance by reducing the number of re-renders. The package is being steadily supported by developers and has a large base of users, which makes finding helpful documentation and tutorials easy. I’m going to walk you through a simple implementation of React Hook Form to show just how useful this package is.

We want to create a sign-up form with multiple input fields that are submitted when a button is clicked. …

What is a Promise?

A great definition from MDN: A promise object represents the eventual completion (or failure) of an asynchronous operation and its resulting value.

JavaScript promises are similar to how we think of promises in real life. A promise will either be fulfilled (“resolved”) or broken(“rejected”). Our promise is created from a constructor and takes in a callback function with two parameters, one for resolve and one for reject.

An intro to Continuous Integration / Continuous Deployment

CI/CD stands for Continuous Integration / Continuous Deployment. It is a method of developing applications that involves continuous monitoring and testing, and deployment via automation. Changes and updates are able to be continuously shipped to production. This pipeline carries the app through the entire lifecycle from development to production and then is repeated indefinitely as the application grows and changes.

Let’s take a look at how development practices used to work. Say we have two developers, Sam and Jordan. They both have the same starting code pulled down from an SCM (Source Code Management) system like GitHub. Sam is working…

Scope refers to the accessibility of the variables within our code. There are two main types of scope: global and local.

Globally scoped variables are declared with var, const, or let outside of a function and can be accessed from anywhere in the code. There is only one level of global scope in JavaScript.

Local scope has 2 levels of scope: function and block.

A closure is created every time a function is created. It encapsulates the variables inside of the function and creates a local scope while allowing access to variables that are in the function's outer scope. …

A look at how the Call Stack, Web APIs, and Callback Queue all work together

Loupe by Philip Roberts will be used for demonstrations

The Event Loop is the system that JavaScript uses in the browser to handle the execution of multiple pieces of code. It consists of the Call Stack, Web APIs, and the Callback Queue. It is responsible for giving JavaScript its asynchronous programming ability.

JavaScript is a single-threaded, asynchronous language with a concurrency model that is based on a “run to completion” event loop… wait, what? Read on, and this sentence will hopefully make sense by the time you finish.

Prerequisite knowledge: basic JS functions, console.logs, and Web APIs like setTimeout and addEventListener.

Single-Threaded: When we say that JavaScript is a…

An under-the-hood look at something we do billions of times a day

It would be almost impossible to go a day without interacting with the internet in some meaningful way in our current age. It's everywhere you look and everywhere you don’t look. Hard to believe that as little as 30 years ago the internet was only being used by a handful of scientists, universities, and government institutions, and the World Wide Web had just been created! This article isn’t going to dig too deep into the history of the internet and the web, but rather take a look at the inner workings of how we access the two.

The Internet vs The World Wide Web

Let’s clear up…

Thoughtful implementation of web content is more important than ever before

ARIA is an anacronym for “Accessible Rich Internet Applications”. An initiative started in 2006, ARIA is a set of attributes we can add to HTML that allows us to make web content more accessible to users with disabilities who use Assistive Technologies. ARIA allows screen readers to more explicitly describe the intentions of the web page to the user. ARIA attributes allow us to describe the state, properties, and functions of each element on the page. …

Build your own at https://visualgo.net/en/bst

A BST is a node-based, ordered, tree data structure in which each node can have a maximum of two children. These are children are known as the left node and the right node. The left node will always be less than its parent node, and the right node will always be greater than its parent node. The top node is known as the root node. …

Testing is one of the most important aspects of software production. Tests inform developers on the clear behavior of what certain parts of the application should accomplish.

Many companies use a programming methodology known as Test-Driven Development (TDD) to guide production. TDD dictates that automated unit tests should be created first in order to guide software production before any code is written.

But what are unit tests?

A unit test is a way of testing the smallest piece of code (aka unit or component) that can be isolated from the software. …

In the Beginning

How old are you? The answer will be a good indication if you remember a time when the internet was static, undynamic, and stale. You see, when I was a kid in the 90s, the internet was able to just show information rather than allow much interaction with it. Every time you clicked to request more information or submit data, the entire page would reload. Websites looked like this:

Kyle Farmer

Former live music audio engineer. Recent bootcamp grad, current job seeker.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store