В этой статье блога мы рассмотрим различные методы создания индикатора выполнения диапазона с функцией предварительного просмотра с помощью React. Индикатор выполнения диапазона — это полезный элемент пользовательского интерфейса, который позволяет пользователям выбирать диапазон значений и визуализировать свой прогресс. Мы рассмотрим различные подходы к реализации этой функциональности, попутно предоставляя примеры кода.
Метод 1: ползунок диапазона React с пользовательским CSS
Один из способов создать индикатор выполнения диапазона с предварительным просмотром — использовать компонент ползунка диапазона и собственный CSS. Компонент ползунка диапазона обеспечивает базовую функциональность выбора диапазона значений. Чтобы добавить функцию предварительного просмотра, мы можем использовать псевдоэлементы CSS и обработку событий JavaScript.
// Code example for Method 1
import React, { useState } from 'react';
import './RangeProgress.css';
const RangeProgress = () => {
const [value, setValue] = useState(50);
const handleChange = (e) => {
setValue(e.target.value);
}
return (
<div className="range-progress">
<input
type="range"
min="0"
max="100"
value={value}
onChange={handleChange}
/>
<div className="range-preview" style={{ width: `${value}%` }}></div>
</div>
);
}
export default RangeProgress;
Метод 2: Библиотека прогресса диапазона React.
Другой метод — использовать существующие библиотеки React, специально разработанные для индикаторов выполнения диапазона. Одной из таких библиотек является «react-range-progress». Эта библиотека предоставляет компонент прогресса диапазона со встроенной функцией предварительного просмотра.
// Code example for Method 2
import React from 'react';
import RangeProgress from 'react-range-progress';
const RangeProgressWithPreview = () => {
return (
<RangeProgress
minValue={0}
maxValue={100}
preview={true}
/>
);
}
export default RangeProgressWithPreview;
Метод 3: Реагируйте на прогресс диапазона с помощью Redux
Если ваше приложение уже использует Redux для управления состоянием, вы можете интегрировать его с индикатором выполнения диапазона для управления функцией предварительного просмотра. Redux обеспечивает централизованное управление состоянием, что упрощает обмен и обновление значений предварительного просмотра между различными компонентами.
// Code example for Method 3
import React from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { setPreviewValue } from './actions';
import './RangeProgress.css';
const RangeProgressWithRedux = () => {
const dispatch = useDispatch();
const value = useSelector(state => state.previewValue);
const handleChange = (e) => {
dispatch(setPreviewValue(e.target.value));
}
return (
<div className="range-progress">
<input
type="range"
min="0"
max="100"
value={value}
onChange={handleChange}
/>
<div className="range-preview" style={{ width: `${value}%` }}></div>
</div>
);
}
export default RangeProgressWithRedux;
В этой статье мы рассмотрели три различных метода создания индикатора выполнения диапазона с предварительным просмотром в React. Мы рассмотрели использование индивидуального подхода CSS, использование существующей библиотеки React и интеграцию Redux для управления состоянием. В зависимости от требований вашего проекта и знакомства с различными технологиями вы можете выбрать метод, который подходит вам лучше всего. Использование индикатора выполнения диапазона с предварительным просмотром может улучшить взаимодействие с пользователем и обеспечить ценную визуальную обратную связь.