react-native-mobx-supermodel

React collection and model using mobx, axios

Usage no npm install needed!

<script type="module">
  import reactNativeMobxSupermodel from 'https://cdn.skypack.dev/react-native-mobx-supermodel';
</script>

README

react-supermodel

react-supermodel uses mobx to create observable models and collections

npm install react-supermodel --save

Model example:

// src/models/user
import { Model } from 'react-supermodel';
import { observable } from 'mobx';

export class User extends Model {
    
    options() { 
        return {
            baseUrl: 'https://<api-server-url>',
            basePath: '/api/v1',
            resource: 'user'
        }
    }
    
    fields() {
        return {
            name: ''
        };
    }
}

// somewhere else


// this will make a request to https://<api-server-url>/api/v1/user/:id
// to fetch one model from the server
const user = new User();
user.id = 'some-uuid';
user.fetch();

// or, you can define the id as an option
const user = new User({
    fields: {
        id: 'some-uuid'
    }
});
user.fetch();


// to save, will make a POST request to https://<api-server-url>/api/v1/user
// or a PUT request to the https://<api-server-url>/api/v1/user/:id if id is set
user.save()

Collection:

// src/collections/user
import { Collection } from 'react-supermodel';
import User from '../models/user';

export class UserCollection extends Model {
    static Model = User;
}

// somewhere else
const users = new UserCollection();
users.fetch();