🗡️
ConanJs
  • What is ConanJs?
  • Why ConanJs...
    • ... if coming from Redux
    • ... if using vanilla React
    • ... if learning React
    • ... if not using React
  • How to install/use ConanJs
  • About us / Github / Contact us
  • Demos
    • Demo Gallery
    • Conan State Demos
      • Hello World
      • Todos
        • Todos - Basic
        • Todos - Async
        • Todos - Optimistic
      • Github issues viewer
    • Conan Flow Demos
      • Authentication
  • CONAN DATA
    • General Concepts
    • Conan State
      • Actions & Reducers
        • Reducers
        • Actions
      • Creating State
      • Observing State
        • Live rendering
        • Connecting
      • Composing State
      • Scaling State
      • Orchestrating State
      • Life cycle
        • Async handling
        • Introspection
      • Testing state
    • Conan Flow
      • Creating Flows
      • Serialising Flows
      • Observing Flows
  • CONAN Runtime
  • Dependency Injection
    • General Concepts
    • Creating the Context
    • Using the Context
  • ASAPs
  • Logging
  • API
    • Main Classes
      • Conan
        • StateDef
      • ConanState
      • ConanFlow
        • UserFlowDef
        • UserStatusDef
        • Status
    • Conan State Classes
      • Thread
      • ConnectedState
      • MonitorInfo
      • MetaInfo
    • Dependency Injection
      • DiContextFactory
    • ASAPS
      • Asaps
      • Asap
Powered by GitBook
On this page
  • State is easy to create
  • Create simple state and actions with one line...
  • ... Or if you want to, create your own actions.
  • State is easy to update
  • No need to create a pair of action/reducers
  • No boilerplate needed to deal with async actions
  • No need to map dispatch to props
  • State can be scoped
  • You can have global scope like Redux...
  • ... or local state, if you need to
  • State can be composed.
  • No need to map state to props
  • No need to use selectors
  • State can be orchestrated
  • Add reactions to your state
  • Easy to test End to End
  • Meaningful Logging out of the box
  • More Demos
  • And more...

Was this helpful?

  1. Why ConanJs...

... if coming from Redux

PreviousWhy ConanJs...Next... if using vanilla React

Last updated 4 years ago

Was this helpful?

If coming from Redux, we think you are going to be impressed with our Hello Wow! demo

This demo is to showcase Conan State, which are our reusable capsules of state.

If you are familiar with the TODO example from Redux, you might find this article also interesting:

Below we explore in detail the benefits of using ConanJs over Redux.

State is easy to create

Create simple state and actions with one line...

... Or if you want to, create your own actions.

State is easy to update

No need to create a pair of action/reducers

No boilerplate needed to deal with async actions

No need to map dispatch to props

State can be scoped

In ConanJs state is represented with Conan State, which ultimately is a plain JS object, which means that, as with any other object, you decide how to scope.

You can have global scope like Redux...

... or local state, if you need to

State can be composed.

No need to map state to props

No need to use selectors

State can be orchestrated

Add reactions to your state

Easy to test End to End

Meaningful Logging out of the box

More Demos

This demos will provide you with real world scenarios to use ConanJs

And more...

If this was not enough, we have some more features included.

You can use

You can use if you want to create your own custom actions.

All the logic needed to update the state is encapsulated .

are easy to implement, and you won't need additional libraries

You can from the state

Sometimes it makes sense to have

But many times, you might feel forced to add it to your global state, or you need to use other mechanisms (setState, hooks...), with ConanJs you can just make

You can have you state distributed in many smaller states, and then , if you need to

You can just , or

With ConanJs is simple to write logic as a reaction to an state change, we call this , and it will help you building complex state interactions.

1) Create state, 2) Perform any number of actions, sync or async, 3) Check the final value of the state. With ConanJs is simple

No need to add third party libraries to behind the scenes

inside the action
Async actions
state orchestration
end to end testing
log out what the framework is doing
Todos
Github issues viewer
ConanFlow
Dependency Injection
ASAPs
Hello World
ConanJs vs Redux. Comparing a simple TODO AppMedium
Logo
Hi there, fellow Redux user!
combine it
filter the state
map it
invoke the actions directly
global state
your state local.
Conan.light
Conan.state