"If a worker wants to do his job well, he must first sharpen his tools." - Confucius, "The Analects of Confucius. Lu Linggong"
Front page > Programming > How to Focus an Input Field in React After Rendering?

How to Focus an Input Field in React After Rendering?

Published on 2024-11-19
Browse:604

How to Focus an Input Field in React After Rendering?

Focusing an Input Field in React Post-Rendering

In React, setting focus on an input field after rendering can be achieved through various methods.

One approach is to utilize refs as suggested in the documentation. By assigning a ref to the input field within the render function (e.g., "nameInput"), you can access its DOM node and manually invoke the focus method. However, it's crucial to understand where and when to call this function.

Calling Focus Function

The most straightforward location to call the focus function is the component's componentDidMount lifecycle method. This ensures that the focus is set after the component has been mounted in the DOM. The code would look like this:

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

const MyComponent = () => {
  const nameInputRef = useRef();

  useEffect(() => {
    if (nameInputRef.current) {
      nameInputRef.current.focus();
    }
  }, []);

  return (
    
  );
};

export default MyComponent;

Autofocus Option

Alternately, you can utilize the autoFocus prop provided by React. By setting this prop to true on the input field, the component will automatically gain focus upon mounting.

return (
  
);

Note that, in JSX, the property is autoFocus (with a capital F), unlike the case-insensitive HTML attribute.

Latest tutorial More>

Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.

Copyright© 2022 湘ICP备2022001581号-3