Tutorials

Create a Line Graph with Hovering to Render a Dual Line Highlight using VX and D3

D3

In this lesson we'll take a look at how to render a basic line graph using D3, and VX. We'll move on to analyzing how to add some interactivity that will render a line where ever the user hovers using bisect from D3. Then we'll show how to render another line path using the scales and manipulating our data. Finally we'll add another line split so we're rendering 2 line paths.

Create a Form Wizard with Data Loss Prevention using Formik and React Router

React Router

In this lesson we'll explore using Formik to create a form wizard. Each route will be a new piece of a form. We'll then use Prompt and matchPath to determine if we need to protect our data from being destroyed by navigating away from the page.

Create a ProtectedRoute for Logged In Users with Route, Redirect, and a Render Prop in React Router

React Router

In this lesson we'll create a protected route just for logged in users. We'll combine a Route with a render prop and use a loggedIn prop to determine if the route should be allowed to be accessed. Finally we'll use nav state to preserve the location the user visited and redirect them back to the protected route once they login.

Use matchPath to Match Nested Route Paths in Parent Routes with React-Router

React Router

In this lesson we'll use the matchPath function exported by react-router to find active nested routes inside of a parent component. This technique can be used for comparing routes outside of a React component, or even inside of life cycle methods to do data loading.

Create a Modal Route with Link and Nav State in React Router

React Router

In this lesson we'll show how the Link component to prop can receive an object. This allows us to pass state to the route. With the nav state we destructure off of location we can determine if a user wants to open a modal or on a cold visit show an image embedded in the page.

Prevent Navigation with the React Router Prompt Component When Data is Being Edited

React Router

In this lesson we'll show how to setup the Prompt component from React Router. We'll prompt with a static message, as well as a dynamic method with the message as a function. Finally we'll show that you can return true from the message as a function to dynamically allow navigation.

Create Nested Tab Routes with Dynamic Paths with React-Router

React Router

In this lesson we'll use the match.path value passed in by React Router to setup dynamic routes for Tabs. This will allow us to setup dynamic tabs which can be navigated to based upon the URL. With this pattern we can change the base path and our tab routes will automatically match and render correctly.

Add Interactivity to a Line Graph using scaleLinear.invert to Find a Data Point to Highlight on Mouse Move

D3

In this lesson we'll use scaleLinear to render a line, and additionally add data points using circle. Using onMouseMove we will call the invert function to do a reverse range to domain value interpolation. Then we will use Math.round and adjust the radius of the circle to highlight the selected point.

Fundamentals of Rendering Data as an SVG Bar Graph with D3 and scaleBand

D3

In this lesson we'll start by using d3-scale to build up a scaleBand for our x data and a scaleLinear for our y data points to allow them to map and extrapolate our data correctly to renderable bars. We'll add in padding between each bar, and then using the svg rect will render a collection of bars.

Fundamentals of Rendering Data as an SVG Line with D3 and scaleLinear

D3

In this lesson we'll start by using d3-scale to build up a scaleLinear for both our x and y data points to allow them to map and extrapolate our data correctly to renderable points. Then we'll use line from d3-shape to build out our path. We'll supply it with different sets of data and explore how range can effect how our data renders. Finally we'll show off using curveStep to see how it changes our graph rendering.