Kerill
const store = {
_state: {
messagesPage:{
dialogs : [
{id: 1, name: 'Михайло'},
{id: 2, name: 'Антонио'},
{id: 3, name: 'Филипино'},
{id: 4, name: 'Святославио'},
{id: 5, name: 'Александрио'}
],
messages : [
{id: 1, message: 'Hello'},
{id: 2, message: 'Niger'},
{id: 3, message: 'Bitch'}
],
newMessageText: ''
},
profilePage: {
posts : [
{id: 1, message: 'Hi, how are you? ', likesCount: 5,},
{id: 2, message: 'It\'s my first project', likesCount: 10},
],
newPostText: ''
},
navbar: {
friends:[
{id: 1, name: 'Antony', link: '#'},
{id: 2, name: 'Фил', link: '#'},
{id: 3, name: 'Миха', link: '#'},
{id: 4, name: 'Саня', link: '#'},
{id: 5, name: 'Свят', link: '#'},
],
links: [
{path: '/profile', content: 'Profile'},
{path: '/dialogs', content: 'Messages'},
{path: '/news', content: 'News'},
{path: '/music', content: 'Music'},
{path: '/settings', content: 'Settings'},
]
}
},
_rerenderEntireTree(){},
// DOM
subscribe(observer){
this._rerenderEntireTree = observer
},
getState(){
return this._state
},
// dispatch
dispatch(action){
this.getState().profilePage = profileReducer(this.getState().profilePage, action);
this.getState().messagesPage = dialogsReducer(this.getState().messagesPage, action);
this.getState().navbar = navbarReducer(this.getState().navbar, action);
this._rerenderEntireTree(this);
}
};