Skip to content
This repository has been archived by the owner on Feb 19, 2022. It is now read-only.

Roadmap

Dave Edelhart edited this page Nov 19, 2018 · 1 revision

Renaming effects to actions; removing indirect function

Seems to be the dialect of react is actions so... also, instead of returning a function mutator, we are simply returning a new state. I.e., the action itself is the mutator.

Establish a streaming store based on xStream

This will create a trackable flow of information from store to store as well as the possibility for stores to provide data outside of the heirarchy. I.e., stores can send data down the DOM heirarchy but they can also be independent providers that are generated outside the DOM and inject their state into components with their own contexts.

Establish a full exposure of state and effects(=> actions) for each action

Each action will have access to both state and the actions tree where once they had only access to the actions. The state will be dymanically updated so that when you call an action then (await) then refer to state, the state will have the values from that action in it.

Inject state into the DOM tree with custom reducers based on Context (16.x)

Currently Freactal puts state and effects into props automatically as two named effects. You will have the opportunity to create a reducer function that does this activity, blending and sub-setting state and actions much like the Redux reducer. It will be optional, but for any that have concerns that Freactal may not blend into scenarios where property names are important they will have an opportunity to take the Freactal => props injection into their own hands.

Making initialization more flexible.

So many times you will be pulling state from REST etc., it makes sense for initialization to be asynchronous too. If the initialization is a function it will be called asynchronously. However for server side etc., you can inject an object directly allowing for immediate execution.

Using xStream as the update engine

xStream is RxJS in 30k. It is a useful concept for state updates, and blending parent and child states becomes a basic stream sync issue.

Using the React 16.x Context for updates.

Internally it is a much more efficient way to update the DOM tree with state values. Keep in mind, this will be for the internal React tree. Provision will be made for injection of React into the library to prevent duplication of React instances/source.