**核心价值: 约定优于配置 (Convention over Configuration)**
**1. 插件化架构:**
Umi 的核心是一个生命周期系统 (Service)。所有的功能(如 @umijs/plugin-model, @umijs/plugin-request)都是插件。
- 编译时: 生成临时文件 (.umi 目录)。
- 运行时: 动态挂载 Context。
**2. 数据流 (useModel):**
基于 React Context 的轻量级封装。
不同于 Redux 的复杂 boilerplate,useModel 利用了 Custom Hooks 实现状态共享。
底层原理是:Compiler 扫描 src/models 目录 -> 生成 Context Provider 包裹 App -> 组件内 useContext 消费。
**3. 权限 (Access):**
Umi 可以在路由配置中直接写 `access: 'canReadFoo'`。
原理:在 Layout 层拦截路由渲染,校验 initialState 中的权限点。