Я новичок, чтобы реагировать на родной язык, и я пытаюсь обновить значение ползунка в пользовательском интерфейсе при его перемещении. Я видел в этом примере , что они используют состояние , но у меня нет класса. У меня есть компонент. Это мой код:
export const PhaseModeDetailComponent = ({
phase,
editable,
onChange,
sliderValue
}: {
phase: IPhase;
editable: boolean;
onChange?: (phase: IPhase) => void;
sliderValue: number;
}) => {
let leftIcon;
let rightIcon;
let minimumTrackTintColor;
let maximumTrackTintColor;
let minValue;
let maxValue;
let sliderStep;
if (phase.oven_mode === 0) {
leftIcon = open;
rightIcon = closed;
minimumTrackTintColor = Colors.bluish;
maximumTrackTintColor = Colors.tomato;
minValue = 0;
maxValue = 100;
sliderStep = 10;
} else if (phase.oven_mode === 1) {
leftIcon = convectionSmallCopy;
rightIcon = steamSmallCopy;
minimumTrackTintColor = Colors.white;
maximumTrackTintColor = Colors.tomato;
minValue = 10;
maxValue = 90;
sliderStep = 5;
}
return (
<ImageBackground style={styles.container} source={combinedShape} resizeMode="stretch">
<View style={{ flex: 1, flexDirection: 'row', alignItems: 'center' }}>
<Image style={styles.sliderIcons} source={leftIcon} resizeMode="contain" />
<Slider
style={{ height: '100%', flex: 1 }}
minimumValue={minValue}
maximumValue={maxValue}
minimumTrackTintColor={minimumTrackTintColor}
maximumTrackTintColor={maximumTrackTintColor}
thumbTintColor="#fff"
thumbImage={handle}
disabled={!editable}
step={sliderStep}
value={phase.humidity_perc}
/>
<Image style={styles.sliderIcons} source={rightIcon} resizeMode="contain" />
</View>
<View style={{ flex: 1, flexDirection: 'row', alignItems: 'center' }}>
<ScalableText
style={{
flex: 1,
textAlign: 'right',
paddingRight: 8,
color: Colors.white,
fontFamily: 'robotoRegular',
fontSize: 22
}}
>
{`${phase.humidity_perc}%`}
</ScalableText>
</View>
</ImageBackground>
);
}
};
Как мне обновить значение ползунка? В примере они используют состояние, но я прочитал здесь , что я не могу его использовать, так как у меня нет класса. Есть ли другой способ? Спасибо