You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
xReact information and documentation is available on [the website](http://xreact.oyanglul.us/).
33
+
## Documentation
32
34
33
-
<!-- We also have a Scaladoc index. -->
35
+
All xReact information and documentation is available on [the website](http://xreact.oyanglul.us/).
34
36
35
-
Finally, we have a list of [frequently-asked questions](https://xreact.oyanglul.us/FAQ.html).
37
+
And... we have a list of [frequently-asked questions](https://xreact.oyanglul.us/FAQ.html).
36
38
37
-
Our goal is to have clear and comprehensive documentation. If you notice problems, omissions, or errors, please [let us know](https://github.com/reactive-react/xreact/issues).
39
+
Our goal is to have clear and comprehensive documentation. If you notice problems, omissions, or errors, please [let us know](https://github.com/reactive-react/xreact/issues), or PR is more than welcome.
In imperatively written code, you describe step-by-step how to process data. With `xreact`, we simply define data transformations, then compose them to form our data flow. There are no variables, no intermediate state, and no side effects in your data flow's data composition!
There's also [Fantasy Land](https://github.com/fantasyland/fantasy-land) implementation in `src/fantasy.ts`, you can see [bmi calculator example](https://github.com/reactive-react/xreact/blob/master/examples/bmi-calc/app.tsx) to get the idea.
32
-
33
33
### Typesafe and scalable
34
34
xReact is 100% Typescript!, abstract Stream as Higher Kind type so easier to bring new FRP lib to integrete with xreact.
35
35
36
36
### Composable and Reusable `Plan`
37
37
In Redux, reducers' use of `switch` statements can make them difficult to compose. Unlike reducers, the function `x` return is simply a function which can easily compose.
38
38
39
-
40
39
```js
41
40
constCounter=x(plan1)(x(plan2)(CounterView))
42
41
// is the same as
@@ -53,15 +52,8 @@ Because UI and UI behavior are loosely coupled, you can test a React component b
53
52
Asynchronous functions, such as Promises, can be converted to a stream and then flat-mapped.
0 commit comments