标签: react-native-calendars

无法使用反应本机日历

错误:捆绑失败:错误:无法解析模块: Haste 模块映射hoist-non-react-statics 中不存在模块E:\DEVELOPMENTWORKSPACE\test\node_modules\react-native-calendars\src\expandableCalendar\asCalendarConsumer.jshoist-non-react-statics

这可能与https://github.com/facebook/react-native/issues/4968有关

要解决请尝试以下操作:

  1. 清晰的守望者手表:watchman watch-del-all.
  2. 删除node_modules文件夹:rm -rf node_modules && npm install.
  3. 重置 Metro Bundler 缓存:rm -rf /tmp/metro-bundler-cache-*npm start -- --reset-cache.
  4. 删除加速缓存:rm -rf /tmp/haste-map-react-native-packager-*.

react-native react-native-calendars

6
推荐指数
1
解决办法
2629
查看次数

React-native-calendars 跳转到选定的月份

我正在使用反应本机日历。我有一个<Calendar/>组件。

我已经阅读了文档大约十几次,并且找不到比current初始化日历视图的属性更好的更改月份的属性。例如,如果我设置current={"2014-01-01"},我将看到 2014 年的日历,即 1 月 1 日。问题是我无法重新渲染此道具。

我也尝试使用keyprop,但它不会改变日期。Ref 也不是一个选项,我有自定义的<CalendarHeader/>

包.json

 "react": "17.0.2",
 "react-native": "0.66.4",
 "react-native-calendars": "1.1274.0"
Run Code Online (Sandbox Code Playgroud)

日历.tsx

const CalendarScreen = () => {
  const [current, setCurrent] = useState('2020-01-01');

return (
        <Calendar
          current={current}
          customHeader={CalendarHeaderHandler}
          style={styles.calendar}
        />
        <TouchableOpacity onPress={() => setCurrent('2021-01-01')}>
            <Text>2021</Text>
        </TouchableOpacity>
 )};
Run Code Online (Sandbox Code Playgroud)

react-native react-native-calendars

4
推荐指数
1
解决办法
5773
查看次数

使用 react-native-calendars,如何将按下的日期传递回“markedDates”道具?

目标:能够react-native-calendars使用onDayPressprop选择日历上的 2 个日期,并使用markedDatesprop 中的结果形成一段天数。

组件.js:

import React, { useState, useEffect } from 'react';
import { Image, View, Animated, StyleSheet, TouchableOpacity, Dimensions } from 'react-native';
import EStyleSheet from 'react-native-extended-stylesheet';
import { Calendar } from 'react-native-calendars';

const { width } = Dimensions.get('window');

const CalendarPicker = (props) => {
    const [ markedDates, setMarkedDates ] = useState({});

    const markDate = (dateString) => {
        setMarkedDates(
            (markedDates[dateString] = {
                endingDay: true,
                color: 'blue'
            })
        );
    };

    useEffect(() => {});

    return …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-calendars

2
推荐指数
1
解决办法
3831
查看次数

React-native-calendars使用renderArrow函数显示上个月和下个月而不是箭头

说明 使用renderArrow函数显示上一个月和下个月而不是箭头

预期行为 在左侧和下个月在右侧显示上个月

观察到的行为 两方都显示上个月

我的代码:

<Calendar
onDayPress={(day) => {this.setDay(day)}}
renderArrow={(left,right) => (left? {this.state.previousMonth}: {this.state.nextMonth})}
pastScrollRange={0}
markedDates={{[this.state.selected]: {selected: true, disableTouchEvent: true, selectedColor: '#C7A985'}}}
firstDay={1}
theme={{
selectedDayTextColor: 'white'
}}
/>
Run Code Online (Sandbox Code Playgroud)

react-native react-native-calendars

1
推荐指数
1
解决办法
667
查看次数