%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#fabd2f", "primaryTextColor": "#282828", "primaryBorderColor": "#b57614", "lineColor": "#7c6f64", "secondaryColor": "#83a598", "tertiaryColor": "#b8bb26", "background": "#fbf1c7", "mainBkg": "#ebdbb2", "fontFamily": "Tahoma, sans-serif"}}}%% flowchart LR subgraph Era1["ยุค Local State / Component State"] A["ข้อมูลอยู่หลาย ComponentDebug ยาก"] end subgraph Era2["ยุค Store Pattern / Central Store"] B["StoreSingle Source of Truth"] C["Action + Reducerเปลี่ยน State แบบคาดเดาได้"] end subgraph Era3["ยุค Side Effects / Reactive State"] D["Effectจัดการ HTTP"] E["Selectorดึงข้อมูลเพื่อแสดงผล"] end A --> B --> C --> D --> E
%%{init: {"theme": "base", "themeVariables": {"primaryColor": "#fabd2f", "primaryTextColor": "#282828", "primaryBorderColor": "#b57614", "lineColor": "#7c6f64", "secondaryColor": "#83a598", "tertiaryColor": "#b8bb26", "background": "#fbf1c7", "mainBkg": "#ebdbb2", "fontFamily": "Tahoma, sans-serif"}}}%% flowchart LR A["Componentหน้าจอ"] -->|dispatch Action| B["Actionเหตุการณ์"] B --> C["Reducerสร้าง State ใหม่"] C --> D["StoreState กลาง"] D -->|select Selector| A B --> E["Effectเรียก API"] E --> F["HTTP APIServer"] F --> E -->|success/failure Action| B