Picker, Switch, Slider Components
🎛️ React Native Picker, Switch & Slider Components (TypeScript)
React Native অ্যাপে Picker, Switch ও Slider খুবই গুরুত্বপূর্ণ UI Components। এগুলো ব্যবহার করে ইউজার সহজে অপশন নির্বাচন, অন/অফ টগল এবং ভ্যালু কন্ট্রোল করতে পারে। এই টিউটোরিয়ালে আমরা TypeScript ব্যবহার করে file-based ভাবে প্রতিটি component বুঝবো।
📌 1. Picker Component
Picker ব্যবহার করা হয় যখন ইউজারকে একাধিক অপশন থেকে একটি নির্বাচন করতে দিতে হয় (যেমন: Gender, Country, Language ইত্যাদি)।
📁 File: components/CustomPicker.tsx
import { View, Text } from 'react-native';
import { Picker } from '@react-native-picker/picker';
import { useState } from 'react';
const CustomPicker = (): JSX.Element => {
const [language, setLanguage] = useState<string>('js');
return (
<View>
<Text>Selected: {language}</Text>
<Picker
selectedValue={language}
onValueChange={(itemValue) => setLanguage(itemValue)}
>
<Picker.Item label="JavaScript" value="js" />
<Picker.Item label="TypeScript" value="ts" />
<Picker.Item label="Python" value="py" />
</Picker>
</View>
);
};
export default CustomPicker;
ইউজার Picker থেকে একটি language নির্বাচন করলে উপরে সেই value রিয়েল-টাইমে দেখাবে।
📌 2. Switch Component
Switch মূলত ON / OFF বা true / false স্টেট কন্ট্রোল করার জন্য ব্যবহৃত হয়। যেমন: Dark Mode, Notifications Enable ইত্যাদি।
📁 File: components/ThemeSwitch.tsx
import { View, Text, Switch } from 'react-native';
import { useState } from 'react';
const ThemeSwitch = (): JSX.Element => {
const [isEnabled, setIsEnabled] = useState<boolean>(false);
return (
<View>
<Text>Dark Mode: {isEnabled ? 'ON' : 'OFF'}</Text>
<Switch
value={isEnabled}
onValueChange={setIsEnabled}
trackColor={{ false: '#ccc', true: '#0d9488' }}
thumbColor={isEnabled ? '#14b8a6' : '#f4f3f4'}
/>
</View>
);
};
export default ThemeSwitch;
Switch অন করলে "Dark Mode: ON" এবং অফ করলে "Dark Mode: OFF" দেখাবে।
📌 3. Slider Component
Slider ব্যবহার করা হয় কোনো numeric value ধীরে ধীরে পরিবর্তনের জন্য। যেমন: Volume, Brightness, Price Range ইত্যাদি।
📁 File: components/VolumeSlider.tsx
import { View, Text } from 'react-native';
import Slider from '@react-native-community/slider';
import { useState } from 'react';
const VolumeSlider = (): JSX.Element => {
const [volume, setVolume] = useState<number>(50);
return (
<View>
<Text>Volume: {volume}</Text>
<Slider
minimumValue={0}
maximumValue={100}
value={volume}
onValueChange={(value) => setVolume(Math.round(value))}
minimumTrackTintColor="#14b8a6"
maximumTrackTintColor="#99f6e4"
/>
</View>
);
};
export default VolumeSlider;
Slider টানলে Volume value 0–100 এর মধ্যে পরিবর্তিত হয়ে স্ক্রিনে দেখাবে।
✅ Summary (মনে রাখবেন)
- Picker → একাধিক অপশন থেকে একটি নির্বাচন
- Switch → Boolean (ON/OFF) কন্ট্রোল
- Slider → Numeric value কন্ট্রোল
- সব উদাহরণ TypeScript ব্যবহার করে করা হয়েছে
- File-based structure ব্যবহার করলে কোড পরিষ্কার থাকে