javascript - 如何在 React 中设置自动对焦?
问题描述
我正在尝试将焦点设置在我的 React 页面上,但它不起作用,因为我认为组件更新会覆盖componentDidUpdate
.
还有另一种方法吗?
这是我通常用来关注的代码
document.querySelector("#input-box").focus();
解决方案
如果您正在使用 react,那么理想情况下,您应该使用 refs 并使用它们来设置焦点。检查接受的答案Set focus on input after render
如果您遇到组件失去焦点的问题,如果您为组件设置的键值不是唯一的,则可能会发生这种情况。React 使用您设置的键值来跨渲染周期跟踪组件。如果密钥生成不正确,那么您可能会遇到组件在渲染周期中失去焦点的情况。例如,当用户在其中输入时的受控输入框。
推荐阅读
- character-encoding - 这是什么编码:
- java - 在 Eclipse EE 中更新 m2e 版本?
- codeigniter - 注册用户 CRUD 操作和其他
- hive - 是否可以在 hive 中更新复杂的数据类型?例如:映射、数组、结构
- visual-studio - 使用 MS VS15 2017 编译 OpenCV 3.4 和 Cuda 9.2
- c++ - C++ 窗口捕获输出与所述窗口的大小不同
- python - 循环 clump_masked 索引
- flexbox - Ag-Grid 在 flexbox 布局中的高度为零
- websocket - 在 glassfish 上设置服务器缓冲区大小
- html - AngularJS 控制器在设置后重置 $scope 变量