Skip to content

gutenye/react-resolve

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

react-resolve

Inspired by relate and react-resolver

Features

  • Support variables
  • Automatically manage the data list when do update action, e.g. add

Usage

import {resolve} from "react-resolve"

@resolve({
  users: ({page}) => Promise.resolve([{id: 1, page}]),
}, {
  page: 0,
}, {
  add: (data) => Promise.resolve(data),
  add: [ (data) => promise, "ADD" ],
  add: [ (data) => promise, "ADD" "users" ],
})
class App extends Component {
  render() {
    this.props.users
    this.props.add({id: 2, name: "b"})
    this.props.resolve({page: 2})
  }
}

this.resolve({page: 2})

Advanced Example

@resolve({
  users: (props) => promise,
  posts: () => promise,
}, {
  deleteUser: [ (data) => promise, "REMOVE", "users" ]  // ADD REMOVE UPDATE
  deletPost: [ (data) => promise, "REMOVE", "posts" ]
})
class App extends Component { }
// ACTIONS
//
//   add create          {data}
//   remove destroy      {id}
//   update              {data}
//

Install

$ npm install react-resolve

Ideas

About

Async rendering & data-fetching

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published