0

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

我想做的是以下几点:

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

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

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

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

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

有什么想法可以让这个日历组件动态化吗?或者对另一个带有日历和议程视图的组件有什么建议吗?

谢谢!

4

1 回答 1

0

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

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

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

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

我试图在我的组件中有一个功能来执行此功能,当组件重新加载时从未触发过。

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

这对我来说是完美的伎俩和工作。

于 2020-11-15T08:32:18.970 回答