How To Create Simple Login Page In React Js

Creating a login page in ReactJS is an essential step in building a secure web application. With the power of React’s component-based architecture and the flexibility it offers, creating a simple login page becomes a breeze.

In this article, I will guide you through the process of creating a simple login page in ReactJS. I will provide you with code examples and explain each step in detail. So, let’s dive in!

Setting Up the Project

Before we start building our login page, we need to set up a ReactJS project. If you haven’t installed Node.js and npm, make sure you do so. Once you have them installed, run the following command to create a new React project:

npx create-react-app login-page

This command will create a new directory called login-page with all the necessary files and dependencies.

After the project is created, navigate to the project directory:

cd login-page

Now, we are ready to start building our login page!

Creating the Login Component

In React, a login page can be created using a functional component or a class component. In this example, we will use a functional component. Create a new file called Login.js inside the src directory and add the following code:

import React, { useState } from 'react';

const Login = () => {
const [username, setUsername] = useState('');
const [password, setPassword] = useState('');

const handleLogin = () => {
// Perform login logic here
};

return (

Login Page


setUsername(e.target.value)} />

setPassword(e.target.value)} />

);
};

export default Login;

In the code above, we use the useState hook to manage the state of the username and password input fields. We also define a handleLogin function that will be called when the login button is clicked. Inside this function, you can perform the login logic, such as making an API call to validate the user’s credentials.

Now that we have our login component ready, we need to include it in our main App.js file. Open App.js and replace its content with the following:

import React from 'react';
import Login from './Login';

const App = () => {
return (

Welcome to My Login App

);
};

export default App;

Save the changes, and if you run npm start, you should see the login page rendered in your browser.

Styling the Login Page

Now that we have the basic structure of our login page, let’s add some styles to make it visually appealing. We will use CSS modules to scope our styles to the specific components. Create a new file called Login.module.css inside the src directory and add the following code:

.loginContainer {
width: 300px;
margin: auto;
padding: 20px;
border: 1px solid #ccc;
border-radius: 5px;
background-color: #f5f5f5;
}

.loginContainer h2 {
text-align: center;
margin-bottom: 20px;
}

.loginContainer form {
display: flex;
flex-direction: column;
}

.loginContainer label {
font-weight: bold;
margin-bottom: 10px;
}

.loginContainer input {
height: 30px;
padding: 5px;
margin-bottom: 10px;
}

.loginContainer button {
padding: 10px;
background-color: #007bff;
color: #fff;
border: none;
border-radius: 5px;
cursor: pointer;
}

In the code above, we define styles for our login container, heading, form, labels, input fields, and login button.

To apply these styles to our login component, open Login.js and import the CSS module:

import styles from './Login.module.css';

Then, apply the styles to the appropriate elements in the JSX code:

<div className={styles.loginContainer}>...</div>

Save the changes, and you should see the login page styled according to the CSS rules defined in Login.module.css.

Conclusion

Congratulations, you have successfully created a simple login page in ReactJS! We covered the process of setting up a React project, creating a login component, and styling the page using CSS modules.

Remember, this is just the beginning. You can further enhance the login page by adding validation, error handling, and integration with backend APIs for authentication.

Start building secure web applications with ReactJS and implement login functionality to protect your users’ data. Happy coding!