Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Cycle.js
  3. cycle-react

cycle-react

MITJavaScriptv6.0.1

A React hooks library that provides an RxJS functional interface for managing state and side effects with Observables.

GitHubGitHub
369 stars17 forks0 contributors

What is cycle-react?

Cycle-React is a React library that provides an RxJS functional interface for building React applications with reactive programming patterns. It creates custom React hooks that allow developers to manage state and side effects using Observables, offering an alternative to traditional state management solutions like Redux.

Target Audience

React developers who want to implement reactive programming patterns in their applications, particularly those familiar with RxJS or looking for a functional alternative to Redux.

Value Proposition

Developers choose Cycle-React for its clean integration of RxJS with React hooks, enabling predictable data flow through observable streams and reducing boilerplate compared to Redux while maintaining functional programming principles.

Overview

Rx functional interface to Facebook's React

Use Cases

Best For

  • Implementing reactive state management in React applications
  • Building React apps with functional programming patterns
  • Creating applications with complex user interaction flows
  • Migrating from Redux to a more concise RxJS-based solution
  • Developing cross-platform apps with React Native using reactive patterns
  • Managing side effects declaratively with observable streams

Not Ideal For

  • Projects where the team lacks familiarity with RxJS or reactive programming concepts
  • Applications requiring nested composition of stateful components for complex architectures
  • Teams that rely on extensive third-party middleware or a large ecosystem like Redux's
  • Projects needing immediate, comprehensive documentation and community support

Pros & Cons

Pros

Reactive Data Flow

Integrates RxJS observables to manage state and interactions declaratively, reducing boilerplate compared to Redux, as demonstrated by the useInteractions hook for handling events and state updates.

Functional Programming Patterns

Promotes pure functions and separation of concerns inspired by Cycle.js, treating user interactions as observable streams for predictable data flow, aligning with the library's philosophy.

Concise Redux Alternative

Offers a streamlined state management solution with custom hooks, providing a more intuitive approach for developers comfortable with RxJS, as highlighted in the comparison table from Redux to Cycle-React.

Cross-Platform Support

Works with React Native, enabling reactive programming patterns in mobile applications, evidenced by the dedicated example in the README for native development.

Cons

RxJS Dependency Barrier

Requires significant knowledge of RxJS, which can steepen the learning curve for teams new to reactive programming, and only supports RxJS 6 with potential migration issues noted in the README.

Limited Documentation

The documentation site is a work in progress, which may hinder onboarding and advanced usage, as admitted in the README, making it harder to find detailed guides or examples.

No Nested Composition

Lacks support for hosting Cycle-React applications within another, limiting architectural flexibility for complex component hierarchies, as explicitly stated in the FAQ section.

Ecosystem Constraints

Has a smaller community and ecosystem compared to Redux, reducing availability of third-party integrations and resources, and it's not recommended for use with Redux after version 7.0, complicating migration paths.

Open Source Alternative To

cycle-react is an open-source alternative to the following products:

Redux
Redux

A predictable state container for JavaScript applications, commonly used with libraries like React for managing application state in a consistent way.

Frequently Asked Questions

Quick Stats

Stars369
Forks17
Contributors0
Open Issues3
Last commit6 years ago
CreatedSince 2015

Tags

#functional-programming#observables#side-effects#reactive-programming#rxjs#react-native#react-hooks#state-management

Built With

R
React
J
JavaScript
R
RxJS

Included in

Cycle.js823
Auto-fetched 1 day ago

Related Projects

hyperscript-helpershyperscript-helpers

Terse syntax for hyperscript.

Stars631
Forks36
Last commit6 years ago
cycle-onionifycycle-onionify

MIGRATED! This was transfered to https://cycle.js.org/api/state.html

Stars279
Forks18
Last commit7 years ago
chai-virtual-domchai-virtual-dom

Chai assertion helpers for virtual-dom elements

Stars24
Forks1
Last commit10 years ago
cyclejs-auth0cyclejs-auth0

Everything you need to start playing with Auth0 on your Cyclejs app

Stars23
Forks6
Last commit8 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub