structuredClone loses own __proto__ data properties
还没有人认领这个 Issue。
- 主要语言
- C++
- 星标
- 127k
- 派生
- 25.3k
- 平均合并
- 1 天 23 小时
- 30 天内合并 PR
- 4
描述
Description
The React Native structuredClone polyfill copies enumerable properties with ordinary assignment. For an own __proto__ data property on an object or array, assignment invokes the inherited prototype setter: the clone's prototype is replaced and no own property is created.
Expected behavior
__proto__ should be cloned as an ordinary own enumerable/writable/configurable data property with a deeply cloned value, while the clone keeps its normal Object or Array prototype. Native structuredClone follows this behavior.
React Native Version
0.87.1 and current main
Affected Platforms
JavaScript runtime - All
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
入口点是 React Native 的 structuredClone polyfill;首先使用拥有可枚举自有 proto 数据属性的对象和数组复现该问题。完成的标准是 clone 保留其正常的 Object 或 Array 原型,并拥有一个与原生 structuredClone 行为一致的深度克隆自有属性。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript, react-native
- 领域
- mobile
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 活跃
- 描述清晰度
- 基本清楚
- 新手友好度
- 58/100