AsyncProps for React Router
This is a shameless ripoff of Async Props This library is promise based which allows for async/await goodness. View transitions happen immediately, async props are then populated when the promise resolves.
Installation
Using npm:
$ npm install async-props-promise
Then with a module bundler like webpack, use as you would anything else:
// using an ES6 transpiler, like babel
The UMD build is also available on npmcdn:
You can find the library on window.AsyncProps
.
Notes
This is pre-release, it's pretty close though. If you are using it then you are a contributor. Please add tests with all pull requests.
Usage
;Component // 1. define a `loadProps` static method static async { const tacos = await tacoFetcher; return tacos; } { if!thispropstacos return <div>Loading...</div> // 2. access data as props :D const tacos = thispropstacos; return <div> <ul> tacos </ul> </div> } // 3. Render `Router` with AsyncProps middleware
Server
app { return ` <!doctype html> <html> <!-- etc. ---> <body> <div id="app"></div> <!-- its a string --> </body> </html> `}
API
Please refer to the example, as it exercises the entire API. Docs will come eventually :)