UNPKG

@etsoo/react

Version:

TypeScript ReactJs UI Independent Framework

43 lines (42 loc) 1.16 kB
import { State } from "./State"; /** * Page action type */ export var PageActionType; (function (PageActionType) { // Update data PageActionType["Data"] = "DATA"; // Update title PageActionType["Title"] = "TITLE"; })(PageActionType || (PageActionType = {})); /** * User state */ export class PageState { /** * Constructor */ constructor() { // Act const { context, provider } = State.create((state, { type, data }) => { switch (type) { case PageActionType.Data: // Set page data return { ...state, ...data }; case PageActionType.Title: // Same title if (state.title === data.title && state.subtitle === data.subtitle) return state; // Set page title return { ...state, ...data }; default: return state; } }, {}, {}); this.context = context; this.provider = provider; } }