Profile

Work

I am a Full-Stack Web & Software Developer with over fifteen years of experience. Over countless hours I have discovered that I have a passion and talent for creating works that are both highly functional and technically sound.

I have also discovered that I have a knack for understanding new theories & concepts – I am an adamant perfectionist when it comes to just about anything I do.

Current Skill set

Web
  • Responsive Mobile first HTML & CSS3 – Bootstrap, SASS
  • JavaScript (Vanilla JS, JQuery, Angular)
  • PHP (Web Server & CRON)
  • CRM / CMS packages – WordPress, OsCommerce, Marketo
  • MySQL
  • Git
  • SEO & PPC
Applications
  • Java
  • Python
Legacy Technology
  • ASP (classic)
  • Visual Basic
  • Adobe Flash
Software Packages
  • Adobe Photoshop
  • MySQL
  • Jet Brains Web Suite
  • Microsoft Word
  • Microsoft Excel
  • Microsoft Access
  • Maya 3d
  • and more…

Study

At the start of 2019, I am entering my 4th year of a 6 year course Studying a Bachelor of
Computer Science with gaming specialisation at Charles Sturt University

Hobbies

Pyrotechnic

A license Pyrotechnician in the state of N.S.W. Australia for over twenty years, performing
professional grade pyrotechnic shows ranging from from Chinese String Crackers, Indoor Close
Proximity Fireworks, Aerial Shells up to 125mm and Aerial Salutes up to 75mm.

A founding member of the Pyrotechnics Industry Association of Australia (PIAA), Based in Sydney
but have performing shows all over NSW for all types of events.

Car Enthusiast

An active member in the Skylines Australia NSW car club I regularly volunteer to help run events.

Social Media

You can connect with me professionally on LinkedIn,
or stalk me through Twitter

Portfolio

Employment

Wizardry Fireworks

PRODOCOM Australia

Hannover Fairs Australia

E-Web Marketing

Freelance Websites

Personal Projects

Tipping Comp

cruizen’

National Pyrotechnics

iblott accessories

Blog

What are React hooks, and why are they used?

React Hooks are a feature introduced in React version 16.8 that enable developers to use state and other React features without writing a class. Hooks simplify the process of managing component logic and state, making it easier to create dynamic, functional components.

What Are React Hooks?

Hooks are special functions provided by React that allow developers to “hook into” React features such as state and the component lifecycle. They enable the use of functional components, which are simpler and more concise than class components, to achieve the same functionality.

Some commonly used React hooks include:

  1. useState: Allows you to add state to a functional component.
  2. useEffect: Enables side effects such as data fetching or DOM manipulation.
  3. useContext: Provides a way to access context values without using a consumer component.
  4. useReducer: An alternative to useState for managing complex state logic.
  5. useMemo: Optimizes performance by memoizing expensive calculations.
  6. useCallback: Prevents unnecessary re-creations of functions.

Why Are React Hooks Used?

React Hooks have transformed how developers build components, offering several key advantages:

  1. Simplified Code: With Hooks, you can manage state and lifecycle methods in functional components, reducing the need for verbose class components.
  2. Improved Readability: Functional components with Hooks are often easier to read and maintain because they separate concerns into smaller, reusable functions.
  3. Enhanced Reusability: Hooks make it possible to share stateful logic between components using custom hooks, reducing duplication.
  4. Performance Optimization: Hooks like useMemo and useCallback help optimize rendering performance by preventing unnecessary computations and re-creations.
  5. Backward Compatibility: Hooks work seamlessly alongside class components, allowing developers to gradually adopt them without rewriting existing code.

Examples of Common Hooks

Here’s a quick look at how to use some popular React hooks:

  1. useState:
import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}
  1. useEffect:
import React, { useEffect, useState } from 'react';

function FetchData() {
  const [data, setData] = useState([]);

  useEffect(() => {
    fetch('https://api.example.com/data')
      .then(response => response.json())
      .then(data => setData(data));
  }, []);

  return (
    <ul>
      {data.map(item => (
        <li key={item.id}>{item.name}</li>
      ))}
    </ul>
  );
}

Conclusion

React Hooks have revolutionized the way developers create and manage React components. By providing a cleaner and more efficient way to handle state and lifecycle methods, Hooks have become an essential tool for modern React development. Whether you’re a beginner or an experienced developer, mastering React Hooks will enhance your ability to build dynamic and scalable applications.

Start experimenting with Hooks today, and discover how they can simplify your React codebase and improve your development workflow!

Published by
March 6, 2025 9:47 am

Comments are closed here.


Creative

I studied Digital Media for 12 months at Mt Druitt TAFE. While  doing so we studied The 3D Modeling Program ‘Maya’. During the course I produced a number of 3D scenes and a couple of 3D animated movies.

I have also played in other programs such as Bryce 3D, 3D Studio Max, Lightwave, Vue D’esprit and a few others. However, i have always returned to Maya as a personal preference.

Bellow are a number of works that i have produced from these various programs.

Bryce 3D: Balls

Vue D’esprit: Sulfuric

Maya: Living Room

Maya: Gauntlet

Loading...