traction
Help flux store to merge new data trigger from action, for example: API, user interface, local storage...
This tool will make your store management super easy by one line code: traction.merge(newData).to(array).basedOn('id');
Install
Install with npm
npm install --save traction
Examples
Merge object to array
Say we have an UsersStore, and we fetch one user from API:
var traction = ;var users = id: 1 name: 'a'; var { users = traction;}; ;;console;
The output should be:
id: 1 name: 'b' id: 2 name: 'c'
Merge array to array
Say we have an UsersStore, and we fetch multiple users from API:
var traction = ;var users = id: 1 name: 'a' id: 2 name: 'b'; var { users = traction;}; ;console;
The output should be:
id: 1 name: 'a' id: 2 name: 'c' id: 3 name: 'd'
NOTICE: the merge is deeply merge.
Merge based on multiple keys
Say we have an UsersStore, and we fetch one user from API:
var traction = ;var users = name: 'a' gender: 'male' age: 11 name: 'a' gender: 'female' age: 20; var { users = traction;}; ; console;
The output should be:
name: 'a' gender: 'male' age: 11 name: 'a' gender: 'female' age: 30