JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="//extjs.cachefly.net/ext-4.1.1-gpl/resources/css/ext-all-gray.css" />

JavaScript

/* this is a function to simulate ajax requests in jsfiddle */
function sim(proxy, data, delay) {
    if (typeof data !== 'string') {
        data = Ext.JSON.encode(data);
    }

    proxy.url = '/echo/json/';
    proxy.actionMethods.read = "POST";
    proxy.extraParams.json = data;
    proxy.extraParams.delay = typeof delay == 'undefined' ? 0 : delay;
}

Ext.define('Orders', {
    extend: 'Ext.data.Store',

    fields: [
        'id',
        'total'
        ],

    proxy: {
        type: 'ajax',
        url: 'whatever',
        reader: {
            type: 'json',
            root:'users[0].orders'
        }
    }
});

var orders = new Orders();

sim(orders.proxy, '{"users": [{"id": 123,"name": "Ed","orders": [{"id": 50,"total": 100},{"id": 123,"name": "Ed","orders": [{"id": 51,"total": 200}]}]}', 1);


Ext.define('Grid1', {
    extend: 'Ext.grid.Panel',

    initComponent: function() {
        Ext.applyIf(this, {
            title: 'My Grid',
            store: orders,
            columns: [
                {
                dataIndex: 'id',
                text: 'ID'},
            {
                dataIndex: 'total',
                text: 'Total'}
            ]
        });

        this.callParent(arguments);
    }
});


var g = new Grid1({
    renderTo: Ext.getBody()
});
g.store.load();