基本API
1.1** **dynamic
动态加载组件。
常见使用场景:组件体积太大,不适合直接计入 bundle 中,以免影响首屏加载速度。
为什么使用 dynamic
:封装了使用一个异步组件需要做的状态维护工作,开发者可以更专注于
自己的业务组件开发,而不必关心 code spliting、async module loading 等等技术细节。
1.2** **history
可用于获取当前路由信息。(length,action,location)
可用于路由跳转,(history.push,history.goBack())
也可用于路由监听 (history.listen((location, action)=》{}))
1.3** **plugin
主要在插件利用,项目代码中一般用不到。
运行时插件接口,是 Umi 内置的跑在浏览器里的一套插件体系。
1.4** **ApplyPluginsType
主要在插件利用,项目代码中一般用不到。
运行时插件执行类型,enum 类型,包含三个属性:
- compose,用于合并执行多个函数,函数可决定前序函数的执行时机
- modify,用于修改值
- event,用于执行事件,前面没有依赖关系
1.5** **Link
链接组件
1.6** **NavLink
特殊版本的 <Link />
。当指定路由(to=指定路由
)命中时,可以附着特定样式
1.7** **Prompt
提供一个用户离开页面时的提示选择
1.8** **withRouter
高阶组件,可以通过 withRouter
获取到 history
、location
、match
对象
1.9** **useHistory
hooks,获取 history
对象
2.0** **useLocation
hooks,获取 location
对象
2.1** **useParams
hooks,获取 params
对象。 params
对象为动态路由(例如:/users/:id
)里的参数键值对。
2.2** **useRouteMatch
获取当前路由的匹配信息。
2.2 **node 侧接口
通过 package.json 的 main 字段露出,且不存在于 modules 字段里。
2.2 **Service
Umi 内核的 Service 方法,用于测试,或调用 Umi 底层命令。
2.3 **utils
utils 方法,给插件使用,和插件里的 api.utils 是同一个底层库。
2.4 **defineConfig
用于校验和提示用户配置类型,详见配置#TypeScript 提示。