Inspired by relate and react-resolver
Features
- Support variables
- Automatically manage the data list when do update action, e.g. add
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}
//
$ npm install react-resolve