1- import React , { useState , Fragment , useCallback } from 'react' ;
1+ import React , { useState , Fragment , useCallback , useMemo } from 'react' ;
22import { StyleSheet , View , ScrollView , Text , TouchableOpacity } from 'react-native' ;
33import { Calendar , CalendarProps } from 'react-native-calendars' ;
44import testIDs from '../testIDs' ;
@@ -8,9 +8,20 @@ const INITIAL_DATE = '2020-02-02';
88const CalendarsScreen = ( ) => {
99 const [ selected , setSelected ] = useState ( INITIAL_DATE ) ;
1010
11- const onDayPress : CalendarProps [ 'onDayPress' ] = day => {
11+ const onDayPress : CalendarProps [ 'onDayPress' ] = useCallback ( day => {
1212 setSelected ( day . dateString ) ;
13- } ;
13+ } , [ ] ) ;
14+
15+ const marked = useMemo ( ( ) => {
16+ return {
17+ [ selected ] : {
18+ selected : true ,
19+ disableTouchEvent : true ,
20+ selectedColor : 'orange' ,
21+ selectedTextColor : 'red'
22+ }
23+ } ;
24+ } , [ selected ] ) ;
1425
1526 const renderCalendarWithSelectableDate = ( ) => {
1627 return (
@@ -22,14 +33,7 @@ const CalendarsScreen = () => {
2233 current = { INITIAL_DATE }
2334 style = { styles . calendar }
2435 onDayPress = { onDayPress }
25- markedDates = { {
26- [ selected ] : {
27- selected : true ,
28- disableTouchEvent : true ,
29- selectedColor : 'orange' ,
30- selectedTextColor : 'red'
31- }
32- } }
36+ markedDates = { marked }
3337 />
3438 </ Fragment >
3539 ) ;
@@ -454,7 +458,7 @@ const CalendarsScreen = () => {
454458 return (
455459 < Fragment >
456460 { renderCalendarWithSelectableDate ( ) }
457- { renderCalendarWithWeekNumbers ( ) }
461+ { /* { renderCalendarWithWeekNumbers()}
458462 {renderCalendarWithMinAndMaxDates()}
459463 {renderCalendarWithCustomDay()}
460464 {renderCalendarWithInactiveDays()}
@@ -465,7 +469,7 @@ const CalendarsScreen = () => {
465469 {renderCalendarWithPeriodMarkingAndSpinner()}
466470 {renderCalendarWithPeriodMarkingAndDotMarking()}
467471 {renderCalendarWithMultiPeriodMarking()}
468- { renderCalendarWithCustomMarkingType ( ) }
472+ {renderCalendarWithCustomMarkingType()} */ }
469473 </ Fragment >
470474 ) ;
471475 } ;
0 commit comments