Skip to content

Create recurring event

Will McMahan edited this page Dec 16, 2018 · 3 revisions

Recurring events differ slightly in iOS and Android. The following should help guide you through the way this API handles creating recurring events for each OS. Also, be sure to understand whats necessary for creating a basic non-recurring event.

Overview

Adding a recurrence rule is simple, although it helps to understand the properties that establish the rule.

  • frequency - Controls how frequently the event will happen until its endDate. Either daily, weekly, monthly, yearly.
  • endDate - The date when the recurring events end. Note: Use this as the event end date instead of the top level event endDate.
  • occurrence - This sets a number of occurrences for the recurring event, without needing an endDate.
  • interval - The interval between recurring events. For example an event with a weekly recurrence and interval an interval of 2 will repeat every 2 weeks.

Frequency

Setting the frequency of the event gives control over how often the event should repeat, with the following options: daily, weekly, monthly, yearly.

RNCalendarEvents.saveEvent('Title of event', {
  startDate: '2016-08-19T19:26:00.000Z',
  recurrenceRule: {
    frequency: 'weekly',
    endDate: '2017-08-19T19:26:00.000Z'
  }
})

Interval

Adding an interval controls the how often the recurrence rule repeats over time indicated by its frequency.

RNCalendarEvents.saveEvent('Title of event', {
  startDate: '2016-08-19T19:26:00.000Z',
  recurrenceRule: {
    frequency: 'weekly',
    occurrence: 52,
    interval: 2,
    endDate: '2017-08-19T19:26:00.000Z'
  }
})

Occurrence

Setting the occurrence defines the number of times an event will repeat. This help avoid explicitly needing to set an endDate.

RNCalendarEvents.saveEvent('Title of event', {
  startDate: '2016-08-19T19:26:00.000Z',
  recurrenceRule: {
    frequency: 'weekly',
    occurrence: 52,
    endDate: '2017-08-19T19:26:00.000Z'
  }
})

End Date

If you do not wish the event to repeat forever, an endDate can be defined. This is an alternative to settings an occurrence count.

RNCalendarEvents.saveEvent('Title of event', {
  startDate: '2016-08-19T19:26:00.000Z',
  recurrenceRule: {
    frequency: 'weekly',
    endDate: '2017-08-19T19:26:00.000Z'
  }
})
Clone this wiki locally