【问题标题】:Using react-native-calendars, how to update 'markedDates' prop from redux state?使用 react-native-calendars,如何从 redux 状态更新“markedDates”道具?
【发布时间】:2021-02-26 03:17:24
【问题描述】:

我想使用 react-native-calendars 来突出显示带有 'markedDates' 的事件。

我想要做的是:

日历首次呈现当前月份 --> 调度 redux 操作以使用显示月份的日期更新 redux 状态 --> 在markedDates 中我使用一个函数从redux 状态读取要标记的日期

当更改到下个月时,同样的情况再次发生 --> dispatch redux action 获取当前显示月份的数据 --> 标记日期中的函数返回更新的对象

这适用于第一次渲染,但我无法动态更新markedDates 属性。

我明白,markedDates 必须是不可变的,这实际上是我的问题(我猜 - 我仍然是 react-natvie 的新手)。

完全重新渲染日历组件是可以的 - 但是 foreRender() 或 shoudComponentUpdate() 没有帮助。

知道如何使这个日历组件动态化吗? 或者对具有日历和议程视图的其他组件有什么建议?

谢谢!

【问题讨论】:

标签: react-native redux react-redux react-native-calendars


【解决方案1】:

对于所有阅读该描述的人 - 这是答案。

这不是 react-native-calendars 组件的问题。

问题出在我的代码中,我试图从本地状态而不是从 redux 状态读取标记日期。

需要一些逻辑来将 redux-store 中存储的日期转换为 react-native-calendars 组件的正确格式。

我试图在我的组件中设置一个函数来执行此函数,但在组件重新加载时从未触发过此函数。

无论如何 - 我重构了 redux-action 来为我进行转换并将标记的日期存储在 redux-state 中准备使用。

这对我来说很有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 2019-07-22
    • 1970-01-01
    • 2020-06-19
    • 2020-08-07
    • 2020-01-16
    相关资源
    最近更新 更多