当前位置: 首页 > 知识库问答 >
问题:

反应和自动对焦

柴丰
2023-03-14

我有一个带有

以下操作正常,但在控制台中显示警告

<input type="text" autofocus='true' />
Warning: Invalid DOM property `autofocus`. Did you mean `autoFocus`?

以下选项不起作用,因为它们在打开模式时不会聚焦输入:

<input type="text" autoFocus='true' />
<input type="text" autoFocus={true} />
<input type="text" autoFocus />

设置自动对焦的推荐方法是什么。或者,对于工作正常的示例,我应该如何使警告静音?

注:这是反应16.8.6


共有3个答案

伯英武
2023-03-14

如果您使用的是反应挂钩,您可以编写自己的简单自动对焦挂钩:

import { useEffect, useState } from "react";

export const useAutoFocus = (inputId: string) => {
    const [initialized, setInitialized] = useState(false);
    useEffect(() => {
        if(!initialized) {
            document.getElementById("email").focus();
            setInitialized(true);
        }
    });
};

和简单的用法。

useAutoFocus("email")

以你的形式。

金阳华
2023-03-14

Refs是你想要的,

constructor(props) {
    super(props);
    this.myRef = React.createRef();
}

componentDidMount(){
  this.myRef.current.focus();
}

<input type="text"  ref={this.myRef} />
孔彭祖
2023-03-14

如果使用的是React钩子,请将useCallback()添加到组件中,并将ref={callback}添加到表单控件中:

import React, { useCallback } from 'react'

function InputComponent() {
    const autoFocus = useCallback(el => el ? el.focus() : null, [])

    return <input type="text" ref={autoFocus} />
}

export default InputComponent

您可以替换

 类似资料:
  • 所以我在让我的自动角色发挥作用方面遇到了一个小问题,我一直在尝试通过消息对其进行排序。js和在reactionrole中。js,但它仍然给出了同样的问题,想知道是否有人可以帮助将不胜感激,因为我已经通过教程查看了它,除了一些差异,由于不同的文本/细节,它没有帮助 此外,如果这有助于避免错误,我将使用命令处理程序V2 反应角色。js message.js

  • 为什么使用状态自动更新?我将按下按钮,不显示文本输入。但是我可以保存文件而不改变。文本输入将显示。对不起,我的英语不好 从“React”导入React,{useState,useffect};从“react native”导入{Text,TextInput,View,Button,};

  • 我使用带有WebFlux的Spring boot 2.0.1作为Rest服务器。 在我RestController我想自动反序列化一个对象(产品)。但是我得到一个杰克逊错误,好像参数名称模块没有注册。 原因:com.fasterxml.jackson.databind.exc.Invalid定义异常:无法构建的实例(没有像默认构造一样的Creator):无法从对象值(没有基于委托或属性的Creat

  • 问题内容: 我正在寻找一种在Swift中自动序列化和反序列化类实例的方法。假设我们定义了以下类…… …和实例: 的JSON表示形式如下: 现在,这是我的问题: 我如何序列化实例并获取上面的JSON,而不必手动将类的所有属性添加到变成JSON的字典中? 我如何反序列化上面的JSON并获取静态类型为类型的实例化对象?同样,我不想手动映射属性。 这是使用Json.NET在C#中执行此操作的方法: 问题答

  • 我正在尝试用quarkus、hibernate和postgres开发一个多租户应用程序。 Hibernate Responsive通过让implement支持多租户: http://hibernate.org/reactive/documentation/1.0/reference/html_single/#_custom_connection_management_and_multitenanc

  • 我的声明了以下依赖关系: 我在我的Kotlin源代码中使用了所有这些依赖项(、,...)。 如果我像这样编写,那么一切工作都很顺利: 现在,我也可以通过编辑任务来解决这个问题: 但这只会在任务期间导致更多错误,所有错误都如下所示: 然后,如果我试图通过将添加到并将设置为空来强制接受模块路径而不是类路径,那么Kotlin编译器根本找不到任何东西,最终会出现无数未解决的引用错误! 为什么Kotlin编