DEV Community

Coder
Coder

Posted on • Updated on

Changing the Background Color in React

Have you ever wanted to change the background color of your React app? Whether you want to have it change based on user input or just set a default, changing the background color in React is a simple process. In this blog post, we will go over the steps of changing the background color of your React app.

Step 1: Create a Component

Before we can start changing the background color, we need to create a component. You can create a component by either using the React CLI or by manually creating a file in your project. Either way, make sure to import React at the top of your file:

import React from 'react';
Enter fullscreen mode Exit fullscreen mode

Then, create a function that returns some JSX. For this example, we will create a component called BackgroundColor that has a div with some text in it:

function BackgroundColor() {
  return (
    <div>
      <h1>Hello!</h1>
      <p>This is my React app.</p>
    </div>
  );
}
Enter fullscreen mode Exit fullscreen mode

Step 2: Set the Background Color

Now that we have our component, we can start changing the background color. First, we need to set the background color to a state variable. To do so, add the following line of code to your component:

const [color, setColor] = React.useState('white');
Enter fullscreen mode Exit fullscreen mode

This code creates a state variable called color and a function called setColor that updates the state variable. We set the default value of color to 'white', but you can set it to any color you like.

Next, we need to set the background color of the div. To do so, we can add the following style to the div:

style={{ backgroundColor: color }}
Enter fullscreen mode Exit fullscreen mode

This code sets the backgroundColor property of the style to the value of color.

Step 3: Add a Button to Change the Background Color

Now that we have the background color set up, we can add a button to change it. First, we need to create a function that will handle the button click:

function handleClick() {
  setColor('blue');
}
Enter fullscreen mode Exit fullscreen mode

This function updates the color state variable to 'blue', changing the background color of the div.

Next, we can add a button to the component that calls the handleClick function:

<button onClick={handleClick}>Change Color</button>
Enter fullscreen mode Exit fullscreen mode

This code creates a button with the text 'Change Color' that calls the handleClick function when clicked.

Step 4: Full Code

Here is the full code for the BackgroundColor component with the ability to change the background color:

import React from 'react';

function BackgroundColor() {
  const [color, setColor] = React.useState('white');

  function handleClick() {
    setColor('blue');
  }

  return (
    <div style={{ backgroundColor: color }}>
      <h1>Hello!</h1>
      <p>This is my React app.</p>
      <button onClick={handleClick}>Change Color</button>
    </div>
  );
}
Enter fullscreen mode Exit fullscreen mode

Bonus: Random Background Color

If you want to get even fancier, you can create a function that sets the background color to a random color:

function randomColor() {
  const colors = ['red', 'orange', 'yellow', 'green', 'blue', 'purple'];
  const index = Math.floor(Math.random() * colors.length);
  setColor(colors[index]);
}
Enter fullscreen mode Exit fullscreen mode

This function selects a random color from an array of colors and sets the color state variable to that value.

To use this function, replace the handleClick function with the following code:

function handleClick() {
  randomColor();
}
Enter fullscreen mode Exit fullscreen mode

Now, when you click the 'Change Color' button, the background color will change to a random color from the colors array.

Conclusion

In this blog post, we went over the steps of changing the background color in a React app. We created a component, set the background color to a state variable, added a button to change the background color, and even added a function to set the background color to a random color. With these steps, you can easily customize the look of your React app.

Top comments (0)