框架 API
#
基础#
runAppAPI createApp 从 1.7.0 版本标记废弃,2.0 版本完全移除,请使用 runApp 替代
用于创建渲染整个应用。详见
#
config获取应用运行时配置。详见
#
APP_MODE获取应用环境。详见
#
ErrorBoundary用于错误边界的组件。详见
#
Head设置页面 <head>
标签的信息,如 meta、title 等,基于 react-helmet 同时保持一致的使用方式:
#
状态管理#
createStore初始化 store 实例。
createStore()
支持的 options:
- disableError:布尔类型,可选,默认值 false,如果设置为 true,则
UseModelEffectsError
和WithModelEffectsError
将不可用。 - disableLoading:布尔类型,可选,默认值 false,如果设置为 true,则
useModelEffectsLoading
和withModelEffectsLoading
将不可用。 - plugins:数组类型,可选,Immer 插件、Redux 插件
- redux:对象类型,可选
- middlewares:数组类型,Redux middlewares
- devtoolOptions:对象类型,Redux Devtools 参数
#
路由#
Link通过 <Link />
标签组件可实现路由跳转,使用方式:
#
NavLinkNavLink 组件的用法和 Link 组件基本相同,区别在于 NavLink 组件匹配时可以添加 active 属性。
#
Prompt在离开页面路由跳转时,自定义拦截组件。
#
useHistoryuseHistory hook 用于获取 history 实例。
#
useLocationuseLocation hook 返回当前 URL 的 location
对象。
#
useParamsuseParams hook 返回 URL 参数的 parmas
对象。
#
useRouteMatchuseRouteMatch hook 返回当前路由的匹配信息。
#
getSearchParamsAPI useSearchParams 和 withSearchParams 于 1.9.0 版本标记废弃,2.0 版本完全移除,请使用 getSearchParams 替代
用于在非路由函数组件中解析 url 参数。
假设当前 URL 为 https://example.com?foo=bar
,解析查询参数如下:
#
withRouter通过在 Class 组件上添加 withRouter
装饰器,可以获取到路由的 history
、location
、match
对象。
#
matchPath判断当前 URL 是否匹配。
#
history获取应用的路由实例。
更多 history API
#
createHashHistory用于创建 HashHistory 对象。
#
createBrowserHistory用于创建 BrowserHistory 对象。
#
createMemoryHistory用于创建 MemoryHistory 对象。
#
数据请求#
request用于数据请求的方法。详见
#
useRequest用于数据请求的 hooks。详见
#
权限#
useAuth在函数组件中获取和更新权限。
#
withAuth在 Class 组件中获取和更新权限。
#
工具方法#
getInitialData获取通过 app.getInitialData()
返回的 initialData 数据。详见
#
lazy用于代码懒加载。详见
#
类型#
IAppConfigappConfig 的类型定义。
#
IRouterConfig路由配置的类型定义。
#
IRootDispatch状态管理中全局模型 dispatch 的类型。
#
IRootState状态管理中全局模型的 rootState 的类型。
#
环境变量icejs 会将一些环境变量注入到运行时,前端代码中可直接使用。
process.env.__IS_SERVER__
#
开启 SSR 之后,用于判断是否是服务端执行
process.env.SERVER_PORT
#
本地调试时使用的端口号
process.env.NODE_ENV
#
icejs start
对应 development
,其他情况(build)对应 production