← Back to Week 6

React Introduction

February 9, 2026

Topics Covered

Slides: slides.com/joelross/info340wi26-react-intro

What is React?

Hello React

React uses React.createElement() to create DOM elements:

const msgElem = React.createElement('h1',
  { id: 'hello', className: 'myClass' },
  'Hello World!');

JSX (JavaScript XML)

JSX is shorthand syntax that transpiles to React.createElement() calls:

const msgElem = <h1 id="hello" className="myclass">Hello World</h1>;

Vite Development Server

React Components

Components are functions that return DOM elements:

function HelloMessage(props) {
  return <h1>Hello World!</h1>;
}

Props (Properties)

Props are input parameters passed to components:

const msg = <MessageItem message="Hello" />;

function MessageItem(props) {
  return <li>{props.message.toUpperCase()}</li>;
}

Component Composition

Build complex UIs by nesting components and mapping arrays:

function MessageList(props) {
  const msgComponents = props.messages.map((msgStr) => (
    <MessageItem message={msgStr} key={msgStr} />
  ));
  return <ul>{msgComponents}</ul>;
}

Module System

Components defined in separate files and imported:

// Messages.js
export function HelloMessage(props) {
  return <h1>Hello World</h1>;
}

// App.js
import { HelloMessage } from './Messages.js';

export default function App(props) {
  return <HelloMessage />;
}

Key Concepts

Resources