每次调用OnDayPress时,react原生日历都会重新渲染到当前月份



我使用的是react-native-calendar,当我通过单击日期调用onDayPress时,日历会跳到当前月份。

我的意思是,假设我点击11月12日,日历跳到10月,也就是当前月份。

export default BookingCalendar = () => {
const [selected, setSelected] = useState()
return (
<View>
<CalendarList 
theme={{
dayTextColor: 'black',  
todayTextColor: 'black',  
selectedDayTextColor: 'black', 
selectedDayBackgroundColor: '#FF5D4E',
arrowColor: 'black',                    
}}
style={styles.calendarStyle}
markedDates={{[selected]: {selected: true, disableTouchEvent: true, selectedDotColor: 'orange'}}}
current={new Date()}
minDate={new Date()}
maxDate={addMonths(6)}
onDayPress={day => setSelected(day.dateString)}
onDayLongPress={(day) => {console.log('selected day', day)}}
monthFormat={'MMM yyyy'}
onMonthChange={(month) => {console.log('month changed', month)}}
horizontal={true}
pagingEnabled={true}
/>
</View>
)
}

我的想法是,每次调用onDayPress时,日历都会被重新渲染,并将自己重新定向为current日期,所以我尝试在useEffect中设置今天的日期,这样它在组件安装时只渲染一次,但没有什么不同。

当前道具设置为所选日期为我修复问题

相关内容

  • 没有找到相关文章

最新更新