반응형
리액트 네이티브에서 달력 컴포넌트를 사용하여 날짜를 선택할 수 있는 기능을 구현하기 위해 DateTimePickerModal을 사용한 예제이다.
# 라이브러리 설치하기
npm install -save react-native-image-picker
npm install -save react-native-community/datetimepicker
# DateTimePickerModal 컴포넌트 사용하기
import {View, StyleSheet, Pressable} from 'react-native';
import DateTimePickerModal from 'react-native-modal-datetime-picker';
import {ko} from 'date-fns/locale';
import {format} from "date-fns";
<View>
<Pressable onPress={showDatePicker}>
<Text style={styles.date}>
{format(new Date(date), 'PPP', {locale: ko})}
</Text>
</Pressable>
<DateTimePickerModal
isVisible={isDatePickerVisible}
mode="date"
onConfirm={handleConfirm}
onCancel={hideDatePicker}
/>
</View>
- isVisible : 모달의 노출 여부
- mode : date, time 등 모달의 모드 설정
- onConfirm : 날짜를 선택 했을 때, 호출될 함수 설정
- onCancel : 날짜 선택을 취소했을 때, 호출될 함수 설정
# 필요한 함수 정의
const [isDatePickerVisible, setDatePickerVisibility] = useState(false);
const [date, onChangeDate] = useState(new Date());
const showDatePicker = () => {
setDatePickerVisibility(true);
}
const hideDatePicker = () => {
setDatePickerVisibility(false);
}
const handleConfirm = (date) => {
onChangeDate(date);
hideDatePicker();
console.log("date : ", date);
}
반응형
'Frontend > React Native' 카테고리의 다른 글
[React Native] http 프로토콜 접속 오류 해결 (0) | 2023.09.18 |
---|---|
[React Native] 리액트 네이티브 비동기 서버 통신 axios 사용법 (0) | 2023.08.23 |
[React Native] 이미지 업로드 하기 - 갤러리, 사진첩 이미지 (0) | 2023.07.31 |
[React Native] 리액트 네이티브 새로고침하지 않아도 리프레쉬 - 페이지 전환 감지하여 이벤트 실행하기 (0) | 2023.07.25 |
[React Native] 리액트 네이티브 AsyncStorage 앱 종료해도 데이터 유지하기 (0) | 2023.06.16 |
댓글