Nowhere in the docs does it say that `this.refs` is a reserved property name
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 65/100
- Issue 类型
- 文档
- 描述清晰度
- 描述清楚
- 活跃度
- 停滞
- 技术栈
- javascript, react
调研方向
从 Refs 页面及其“Legacy API: String Refs”部分开始,该部分目前提到了 this.refs,但没有明确说明保留名称约束。更新文档顶部附近以及该部分的内容,让读者知道 this.refs 是保留的,不应被覆盖。
由索引模型根据 Issue 内容生成。
描述
When creating multiple refs for a component class, it isn't unlikely that an unaware developer, wanting to add an array of refs to their component, would choose to use the property name this.refs.
It seems however that React uses this property name internally and so assigning to this.refs in the constructor will be irreversibly overwritten by an empty object {}. Other (not-obviously-reserved) names are fine, including singular this.ref.
I assume that this isn't a bug with react (although maybe?), but this constraint isn't mentioned explicitly in the Reactjs.org docs. The only mention of this.refs is a small section on the Refs page of the docs titled "Legacy API: String Refs", which does explain that this.refs was used in a deprecated API, but doesn't explicitly say that the name .refs is still reserved and can't be used.
It should probably be mentioned explicitly somewhere on that page, preferably both near the top and in that particular section. It took me quite a while of debugging to incidentally try a different name and stumble upon this issue. There are also several StackOverflow questions from other people asking why their refs aren't working when they are using this.refs but none of the people answering seem to be aware of this constraint.
- 主要语言
- JavaScript
- 星标
- 11.8k
- 派生
- 7.9k
- 平均合并
- 16 小时 6 分钟
- 30 天内合并 PR
- 7
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
reactjs/react.dev 的其他 Issue
-
type: documentation
难度 2/5 1-3 小时 新手友好度 72/100
-
难度 1/5 1 小时以内 新手友好度 82/100
-
bug: unconfirmed
难度 2/5 1-3 小时 新手友好度 74/100
-
type: typos
难度 1/5 1 小时以内 新手友好度 90/100
-
bug: unconfirmed
难度 2/5 1-3 小时 新手友好度 68/100
查看 reactjs/react.dev 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
Seeed-Studio/wiki-documents#5655 · 2 条评论 ·
-
bug
难度 2/5 1-3 小时 新手友好度 76/100
capricorn86/happy-dom#2435 ·
-
难度 2/5 1-3 小时 新手友好度 88/100
-
Edit: CW+ 未关闭channels:edit check:passed
难度 2/5 1-3 小时 新手友好度 68/100
-
01 type: bug 30 needs: triage 99 tag: UX Accessibility
难度 2/5 1-3 小时 新手友好度 82/100