Sliders allow users to make selections from a range of values. Material UI for React has this component available for us and it is very easy to integrate. We can use the Slider 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 @mui/material npm install @mui/icons-material
Project Structure: It will look like the following.
Example 1: In this example, we will create a simple application that uses the Slider component to select a particular value along a subjective range of values. Please update the file App.js like the below:
Filename: App.js
Javascript
import React from 'react' ; import { Grid, Slider, Typography } from '@mui/material' ; import { VolumeDown, VolumeUp } from '@mui/icons-material' ; const App = () => { // Our States const [value, setValue] = React.useState(10); // Changing State when volume increases/decreases const changeVolume = (event, newValue) => { setValue(newValue); }; return ( <div style={{ margin: 'auto' , display: 'block' , width: 'fit-content' }}> <h3>How to use Slider Component in ReactJS?</h3> <Typography id= "continuous-slider" gutterBottom> Volume </Typography> <Grid container spacing={4}> <Grid item> <VolumeDown /> </Grid> <Grid item xs> <Slider value={value} onChange={changeVolume} /> </Grid> <Grid item> <VolumeUp /> </Grid> </Grid> </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:
Example 2: In this example, we will create a simple application that uses the Slider component to select a range of values along a subjective range of values. Please update the file App.js like the below:
Filename: App.js
Javascript
import React from 'react' ; import { Grid, Slider, Typography } from '@mui/material' ; function valuetext(value) { return `${value}°C`; } const App = () => { const [value, setValue] = React.useState([20, 37]); const handleChange = (event, newValue) => { setValue(newValue); }; return ( <div style={{ margin: 'auto' , display: 'block' , width: 'fit-content' }}> <h3>How to use Slider Component in ReactJS?</h3> <Grid container spacing={4} mt={2}> <Slider getAriaLabel={() => 'Temperature range' } value={value} onChange={handleChange} valueLabelDisplay= "auto" getAriaValueText={valuetext} /> </Grid> </div> ); } export default App; |
Steps to run the application:
npm start
Output:
Reference: https://mui.com/material-ui/react-slider/#main-content