问题:当前实现传递 saveScrollPosition 配置后会在 [eject 阶段 KeepAlive.js#L111](https://github.com/CJY0208/react-activation/blob/master/src/core/KeepAlive.js#L111) 进行初次查找目标节点 TARGET_1,而后进行目标节点的所有子节点遍历 [saveScrollPosition.js#L31](https://github.com/CJY0208/react-activation/blob/master/src/helpers/saveScrollPosition.js#L31) 对于保留 document.scrollingElement.body 滚动的场景导致所有节点发生遍历,且计算宽高,性能开销过大 潜在解法: 由使用方指定在 `saveScrollPosition` 时是否需要进行 `querySelector('*')` 的子节点遍历操作 方案一:添加额外配置项 saveScrollChildrenPosition: boolean - 默认为当前实现(遍历子节点) - 设置为 false,仅对 TARGET_1 的节点进行滚动位置保留(不继续遍历子节点) 方案二:调整 saveScrollPosition 类型 Array<string | boolean | [string, boolean?] | [boolean, boolean?]> 可对每一个节点控制是否进行子节点查询 (如果可行后续可提交 PR)