Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Conditional Rendering | Controlling Data & Content
Introduction to React

bookConditional Rendering

We can render components based on condition(s) using if-else statements or ternary operators.

For example, we can display different messages based on a variable. Consider, for example, we have a component that displays different UI based on the state of the loggedin state:

function Welcome(props) {
  if (props.loggedin == false) {
    return (
      <div>
        <p>Welcome new user. You can register now for free!</p>
        <button>Register</button>
      </div>
    );
  } else {
    return (
      <p>Welcome, {props.username}!</p>
    );
  }
}

We can pass the loggedin value as false:

root.render(<Welcome loggedin={false} />);

Note that we also enclose Boolean values in braces {}. The output should be something like this:

Now if we pass the value true into the component, the output will change:

root.render(<Welcome loggedin={true} username="Max Tegmark" />);

This time, we also passed the value "username" since I was required in the else block. This way, conditionals can be used to do simple and complex tasks.

It is up to you how you use it!

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 5. ChapterΒ 2

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Awesome!

Completion rate improved to 2.7

bookConditional Rendering

Swipe to show menu

We can render components based on condition(s) using if-else statements or ternary operators.

For example, we can display different messages based on a variable. Consider, for example, we have a component that displays different UI based on the state of the loggedin state:

function Welcome(props) {
  if (props.loggedin == false) {
    return (
      <div>
        <p>Welcome new user. You can register now for free!</p>
        <button>Register</button>
      </div>
    );
  } else {
    return (
      <p>Welcome, {props.username}!</p>
    );
  }
}

We can pass the loggedin value as false:

root.render(<Welcome loggedin={false} />);

Note that we also enclose Boolean values in braces {}. The output should be something like this:

Now if we pass the value true into the component, the output will change:

root.render(<Welcome loggedin={true} username="Max Tegmark" />);

This time, we also passed the value "username" since I was required in the else block. This way, conditionals can be used to do simple and complex tasks.

It is up to you how you use it!

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 5. ChapterΒ 2
some-alt