There are many reasons for this, I will only talk about what I encountered
I wrote Store like this to reuse
DocStore = Ext.extend(Ext.data.Store,{
initComponent:function(){
this.proxy = new Ext.data.HttpProxy( {url:this.url});
this.reader = new Ext.data.JsonReader(
{
totalProperty: 'results',
root: 'rows',
id: 'docid',
fields: ['docid', 'extention','docname', 'author', 'sizes', 'datecreated']
}
);
this .sortInfo = { field: 'datecreated', direction: 'DESC' };
this.remoteSort = false;
DocStore.superclass.initComponent.call(this);
}
});
This Store will not work after it is written
Because the Ext.data.Store class does not inherit the component component, the initComponet method will not be called during initialization.
So the configuration items here will not be loaded into the Store.