An open API service indexing awesome lists of open source software.

https://github.com/threepointone/falcro

falcor + react. hype!
https://github.com/threepointone/falcro

Last synced: about 1 month ago
JSON representation

falcor + react. hype!

Awesome Lists containing this project

README

        

falcro
---

[work in progress]

falcor as a component

`npm install react falcor falcro --save`

```jsx
// instantiate a model, matching paths to data sources
let model = new Model({
cache: {...},
source: new Router([...])
});

// include the Root component somewhere up in your component hierarchy
function App(){
return

;
}

// and then fetch anywhere in your app
function User({name}){
return {
({users, error, loading}}) => loading ?

loading...
:
{users[name].id}
};
}

// all the falcor goodies for free - batching, caching, .set/.call, etc

//BONUS - server side async rendering
renderToString(, model).then(html => res.send(html))
```

Model
---

(see [falcor.Model](https://netflix.github.io/falcor/doc/Model.html))

Root
---

- model - instance of Model

Get
---

- query - falcor model query. accepts [falcor-path-syntax](https://www.npmjs.com/package/falcor-path-syntax)
- children - a function, that will receive, on render -
- ...value - ie, the result of the query
- error - if errored
- loading - _true_ if a request is in flight
- $ - actions on the model instance - _setValue_, _call_, and _refresh_ (more to come)

renderToString(element, model)
---

- returns a promise, which resolves to the html

examples
---

use [react-heatpack](https://github.com/insin/react-heatpack) to run examples from `/examples` directory

todo
---

*so much*
- refreshing *only* the components that change
- streaming results
- redux/router scenarios (reduce/rewind/replay/etc)
- shallow render testing
- idents
- derefs
- etc etc