What is JSX?

Starting JSX

ReactDOM.render(
  <h1>Hello, React!</h1>,
  document.getElementById('root')
);

Resulting ReactDOM code

ReactDOM.render(React.createElement(
  'h1',
  null,
  'Hello, React!'
), document.getElementById('root'));

Resulting HTML in the DOM

<div id="root">
  <h1>Hello, React!</h1>
</div>

Key Concepts

JSX can embed JavaScript expressions

Lab: React Greeter

Let's create a page that greets a user by name.

let user = {
  firstName: Ada,
  lastName: Lovelace
}

React Greeter extended

Hard coding a user object is OK, but it's not ideal. Let's look a little ahead and use state to store our user's name

More on Hooks, and setState later!

React Greeter: Final Product

The App.js component should now look something like this:

import React from 'react'

function App (){

  const [firstName, setFirstName] = useState('Ada')
  const [lastName, setLastName] = useState('Lovelace)

  return (
    <h1>
      Hello, {this.state.firstName + ' ' + this.state.lastName}
    </h1>
  )

}

export default App

 Previous Next 

Outline

[menu]

/