app: {
// 可选,根节点 id,默认为 ice-container
rootId: ‘ice-container’,
// 可选,根节点 DOM 元素,更灵活的 rootId
mountNode: document.getElementById(‘ice-container’),
// 可选,是否解析路由组件的查询参数,默认 true
parseSearchParams: true
// 可选,自定义添加 Provider
addProvider: ({ children }) => {
return {children};
},
// 可选,常用于 SSR 场景或者异步获取数据请求的场景
// 如果返回字段中包含 initialStates 字段将会作为状态管理 store 的初始值
// 如果返回字段中包含 auth 字段将会作为权限管理 auth 的初始值
getInitialData: async() => {
const result = await request();
return result;
},
// 可选,自定义错误边界的 fallback UI
ErrorBoundaryFallback:
// 可选,自定义错误的处理事件
onErrorBoundaryHander: (error, componentStack) {
// Do something with the error
},
// 可选,用于渲染一个简单组件,不再需要耦合 react-router 的路由系统
// 需要配合设置 build.json 的 router 项为 false
renderComponent: SimpleComponent,
},
};
runApp(appConfig);
如何开启新的 JSX 转换#
ice.js 1.16.0+ 支持 New JSX Transform,开启该能力之后,编写 React 组件时不再需要在头部引入 React
。
只需要修改 tsconfig.json
中的 compilerOptions.jsx
即可:
{
“compilerOptions”: {
- “jsx”: “react”,
+ “jsx”: “react-jsx”,
}
}
//接下来书写组件就不再需要引入 React 了:
- import React from ‘react’;
function Example() {
return <>Hello</>;
}