How to create Image Slider in ReactJS? - GeeksforGeeks

27 Sep, 2021
Image Slider means showing image collection with next button so that user can move to next pictures with that button. It is the most common feature to show image collection in Web Applications or mobile apps. Material UI for React has this component available for us and it is very easy to integrate. We can use MobileStepper Component in ReactJS using the following approach.
Creating React Application And Installing Module:
Step 1: Create a React application using the following command:
npx create-react-app foldername
Step 2: After creating your project folder i.e. foldername, move to it using the following command:
cd foldername
Step 3: After creating the ReactJS application, Install the material-ui modules using the following command:
npm install @material-ui/core
npm install @material-ui/icons
Project Structure: It will look like the following.
Project Structure
App.js: Now write down the following code in the App.js file. Here, App is our default component where we have written our code.
Javascript
import React from "react";import Button from "@material-ui/core/Button";import MobileStepper from "@material-ui/core/MobileStepper";import Paper from "@material-ui/core/Paper";import KeyboardArrowRight from "@material-ui/icons/KeyboardArrowRight";import Typography from "@material-ui/core/Typography";import { useTheme } from "@material-ui/core/styles";import KeyboardArrowLeft from "@material-ui/icons/KeyboardArrowLeft"; const MyCollection = [  {    label: "First Picture",    imgPath:"https://media.geeksforgeeks.org/wp-content/uploads/20210208000010/1.png",  },  {    label: "Second Picture",    imgPath:"https://media.geeksforgeeks.org/wp-content/uploads/20210208000009/2.png",  },  {    label: "Third Picture",    imgPath:"https://media.geeksforgeeks.org/wp-content/uploads/20210208000008/3.png",  },]; const App = () => {  const CollectionSize = MyCollection.length;  const theme = useTheme();  const [index, setActiveStep] = React.useState(0);   const goToNextPicture = () => {    setActiveStep((prevActiveStep) => prevActiveStep + 1);  };   return (    <div      style={{        marginLeft: "40%",      }}    >      <h2>How to Create Image Slider in ReactJS?</h2>      <div        style={{          maxWidth: 400,          flexGrow: 1,        }}      >        <Paper          square          elevation={0}          style={{            height: 50,            display: "flex",            paddingLeft: theme.spacing(4),            backgroundColor: theme.palette.background.default,            alignItems: "center",          }}        >          <Typography>{MyCollection[index].label}</Typography>        </Paper>        <img          src={MyCollection[index].imgPath}          style={{            height: 255,            width: "100%",            maxWidth: 400,            display: "block",            overflow: "hidden",          }}          alt={MyCollection[index].label}        />        <MobileStepper          variant="text"          position="static"          index={index}          steps={CollectionSize}          nextButton={            <Button              size="small"              onClick={goToNextPicture}              disabled={index === CollectionSize - 1}            >              Next              {theme.direction !== "rtl" ? (                <KeyboardArrowRight />              ) : (                <KeyboardArrowLeft />              )}            </Button>          }        />      </div>    </div>  );}; export default App;
Step to Run Application: Run the application using the following command from the root directory of the project:
npm start
Output: Now open your browser and go to http://localhost:3000/, you will see the following output.
sumitgumber28
React-Questions
JavaScript
ReactJS
Web Technologies
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Difference between var, let and const keywords in JavaScript
Convert a string to an integer in JavaScript
Differences between Functional Components and Class Components in React
How to append HTML code to a div using JavaScript ?
How to Open URL in New Tab using JavaScript ?
How to fetch data from an API in ReactJS ?
How to redirect to another page in ReactJS ?
How to pass data from child component to its parent in ReactJS ?
Create a Responsive Navbar using ReactJS
How to pass data from one component to other component in ReactJS ?