性能优化选项
2020-04-28 10:27 更新
如果存在对性能要求很高的页面,可以通过配置 turboPages
选项对某些页面启动性能优化。如:
// remax.config.jsmodule.exports = {turboPages: ['pages/index/index', 'pages/index2/*'],};
上述配置将会对 pages/index/index
以及 pages/index2/
下的所有页面做性能优化。
启动性能优化存在如下限制,建议没有很迫切的性能需求不要轻易开启这个选项。
- 目前只支持 支付宝 平台使用。
- 开启性能优化的页面,不能利用 react 动态特性 对 dom 结构做出修改
关于第二点限制的一些 case:
- 修改 dom 结构:
function Component({ children }) {return <View>{React.Children.map(children, child => (<View>{child}</View>))}</View>}...<Component><View>view 1</View><View>view 2</View></Component>
- 修改 dom 的属性:
function Component({ children }) {return <View>{React.Children.map(children, child => (React.cloneElement(child, { onInput: () => {} })))}</View>}...<Component><Input /></Component>
如果你想让这种修改属性的行为可以运作,需要修改为:
function Component({ children }) {return <View>{React.Children.map(children, child => (React.cloneElement(child, { onInput: () => {} })))}</View>}...<Component>{({ onInput }) =><Input onInput={onInput} />}</Component>
可以看到优化性能的同时会牺牲 React 的动态性,因此开发者需要做出取舍。
以上内容是否对您有帮助:
更多建议: