使用 React 功能组件自动聚焦 Reactstrap 警报

Autofocus on reactstrap alerts using react functional component

我正在为我的前端设计使用 React Hooks,在创建注册表单时我使用了各种验证,并且我正在使用 Reactstrap 警告警报来描述错误。 一切正常,但当焦点未在这些警报上实现时,意味着当我的页面显示任何警报时,它不会自动关注该警报。

我已经尝试了自动对焦/autoFocus 或 Focus() 的基本代码,但没有任何效果符合需要。 我的警报代码如下所示:

  {
        showAlreadyRegisteredAlert?
        <Alert variant="warning" onClose={() => setShowAlreadyRegisteredAlert(false)} dismissible>
        <p className="mb-0">
        {content}
        </p>
      </Alert>
        :null
      }

我只是在我的表单输入之间编写这些警报代码,每当我需要调用它们中的任何一个时,我只需为组件设置值并调用警报框,但它仍然缺乏自动对焦。

如有任何帮助,我们将不胜感激。提前致谢!

我找到了所需的解决方案,因为我希望我的页面自动聚焦于出现的警告框。我搜索了 react-hooks 官方文档,了解到我们可以使用 "useRef" 来达到目的,下面是我的代码,以便更好地理解和澄清:

首先:从 react 导入 useRef。

import React, {useState, useRef} from "react";

第二步:使用 useRef 作为 null 创建具有所需名称的常量。

const inputUser = useRef(null);

第三:在警报后将焦点放在您的引用常量上。

setShowAlreadyRegisteredAlert(true);
inputUser.current.focus();

第四步:将 ref 作为您在输入字段中在步骤 2 中定义的常量传递。

    ref= {inputUser}