#javascript #react-native
Вопрос:
Я пытаюсь использовать библиотеку «Вертикальный слайдер React Native» (https://github.com/sacmii/rn-vertical-slider/blob/master/README.md) и у меня возникли проблемы с пониманием того, как использовать свойства «onChange» и «onComplete» :
onChange={(value: number) => {
console.log("CHANGE", value);
}}
onComplete={(value: number) => {
console.log("COMPLETE", value);
}}
Я хочу изменить переменную на значение ползунка, но я не уверен, как это сделать, я получаю ошибки из-за ключевого слова «число».
Комментарии:
1. Это
number
ключевое слово предназначено для машинописного текста, если вы не используете машинописный текст, вы можете безопасно удалить: number
его из своего кода
Ответ №1:
Вот хороший пример, который поможет вам начать (пожалуйста, имейте в виду, что с rn-вертикальным ползунком есть несколько проблем, например, значение шара не обновляется. Возможно, вы захотите попробовать вместо этого react-native-плавный слайдер):
import {View, Text, StyleSheet} from 'react-native';
import VerticalSlider from 'rn-vertical-slider';
const STARTING_VALUE = 1;
const App = () => {
const [sliderValue, setSliderValue] = useState(STARTING_VALUE);
const [completeValue, setCompleteValue] = useState(STARTING_VALUE);
return (
<View style={styles.container}>
<VerticalSlider
value={sliderValue}
disabled={false}
min={0}
max={100}
onChange={value => {
console.log('CHANGE', value);
setSliderValue(value);
}}
onComplete={value => {
console.log('COMPLETE', value);
setCompleteValue(value);
}}
width={50}
height={300}
step={1}
borderRadius={5}
minimumTrackTintColor={'gray'}
maximumTrackTintColor={'tomato'}
showBallIndicator
ballIndicatorColor={'gray'}
ballIndicatorTextColor={'white'}
/>
<Text>Complete value = {completeValue}</Text>
</View>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
},
});
export default App;