Skip to main content

Re-using our dropdown component and Google Translate API to create a translation widget. Throttling the API requests with debounced text.

Introducing the useRef hook to create a dropdown in React.

Throttling API requests to prevent request on every key-press.

How to prevent Cross-site Scripting in React Applications

We expand on our knowledge of React hooks by using the useEffect hook to create a Wikipedia search bar.

Introduction to Hooks for functional components. Using state in functional components to toggle an accordion.

Showing or hiding the Table Of Contents, depending on whether it exists or not.

A roundup of some of the logos that i've created for various businesses or products.

A final recap of the Frosty CMS project, features, screenshots etc.

Querying for a specific Strapi post using GraphQL query variables.

Comparing Strapi to Contentful and the trials and tribulations of setting up Strapi with a cloud based Mongo database.

Connecting Gatsby to Contentful CMS. Creating a data model and querying API endpoints with GraphQL. Pulling data into templates.

How to create a custom 404 page and the basics of React Helmet, which handles site meta-data dynamically.

Adding images to Markdown based posts in Gatsby using gatsby-remark-images

Using the Markdown filepath to dynamically generate a page slug and page for each markdown file, and then linking to those pages on the post index.

Intro to GraphQL. Pulling in dynamic content from GraphQL API. Constructing data variables. Replacing GraphiQL with GraphQL Playground

Sourcing Gatsby blog post content from local Markdown files. Iterating over API data to list posts.

Gatsby installation, pages, links, shared components, layouts, styling, plugins, CSS modules and active nav menu items.

Preventing repetitive API requests by creating a new action called fetchPostsAndUser to store author data before header component loads.

Fetching author data by matching author ID from posts in a React-Redux based blog app.