React Use Async
A simple hook to encapsulate async related state
Installation
npm
npm install --save react-use-async
yarn
yarn add react-use-async
Examples
Manual Async Execution
const Posts = { const onStart onSuccess onError pending error data: posts = ; const getPosts = { ; PostService; }; return <div> !posts && <div> <button onClick=getPosts disabled=pending> pending ? 'Loading' : error ? 'Try again' : 'Get Posts' </button> </div> pending && <div>Loading...</div> error && <div>errormessage</div> <div>Posts</div> posts && <div> posts </div> </div> ;};
Automatic Async Execution
const Posts = { const onStart onSuccess onError pending error data: posts = ; const getPosts = { ; PostService; }; ; return <div> pending && <div>Loading...</div> error && <div>errormessage</div> <div>Posts</div> posts && <div> posts </div> </div> ;};
Collections
const Posts = { return <div> <div>Posts</div> postIds </div> ;}; const Post = { const onStart onSuccess onError pending error data: post = ; const getPost = { ; PostService; }; ; return <div> post && postcontent pending && 'Loading...' error && errormessage </div> ;};
Maybes
const Post =
Custom Hook
const useGetPost = { const onStart onSuccess onError pending data: post = ; const getPost = { ; return PostService; }; return getPost pending error post ;}; const Post = { const getPost pending error post = ; ; return <div> post && postcontent pending && 'Loading...' error && errormessage </div> ;};