React Native Calendars is a declarative cross-platform calendar component library for React Native applications on iOS and Android.
The library solves the problem of building calendar interfaces in React Native by providing a pure JavaScript implementation that requires no native code linking. It offers multiple marking styles including dot, multi-dot, period, and multi-period marking, along with custom marking capabilities. The component supports swipeable interactions, date selection, locale-aware formatting, and the ability to allow or block specific dates. Customization extends to styling, content rendering for days and months, and global theming.
Developers should choose this library if they need a calendar component that works across both iOS and Android without ejecting from Expo or Create React Native App. It suits projects requiring flexible date marking, scrollable calendar views, and agenda-style layouts. The library provides an Agenda component alongside standard Calendar views and supports horizontal scrolling variants. The official documentation site offers detailed guidance beyond the README examples, and a published Expo example allows testing before integration.
The project maintains active engagement with contributors through a structured review process that emphasizes visual documentation via screenshots and GIFs in pull requests. The maintainers enforce code consistency by requesting that contributors run linting and tests before submission, and they explicitly discourage file formatting changes to keep the review process streamlined. The project welcomes feature requests and bug reports through its issue tracker, with contributors expected to provide clear titles and descriptions of proposed changes.