How to change choose file button text in react js?

Hi Friends 👋,

Welcome To aHoisting!

To change the text of the Choose File button in React, you’ll need to hide the default file input and create a custom button. You can then use JavaScript to trigger the file input when the custom button is clicked.

Today, I am going to show you, how to change choose file button text in react js.

Table of contents

  • Install and create a new React app.
  • Import react component.
  • Create a Component.

Let’s start with the first step.

Step 1: Install and create a new React app.

First you have to install the React project. You should use create-react-app command to create a new React project.

npx create-react-app my-app
cd my-app
npm start

Step 2: Import react component.

After installing, you have to import your React component.

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

Step 3: Create a Component.

You can use ref={fileInputRef} to change choose file button text in react js.

<div>
      {/* Hidden file input */}
      <input
        type="file"
        ref={fileInputRef}
        style={{ display: 'none' }}
        onChange={handleFileChange}
      />
      
      {/* Custom button */}
    <button onClick={handleButtonClick}>Upload Your File</button>
      
  {/* Display the chosen file name */}
      <span style={{ marginLeft: '10px' }}>{fileName}</span>
</div>

Change choose file button text example.

The below code is an example of a React. You have to import react and set ref={fileInputRef} in <input/> to change choose file button text in react js.

App.js

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

function App() {
  const fileInputRef = useRef(null);
  const [fileName, setFileName] = useState('No file chosen');

  const handleButtonClick = () => {
    fileInputRef.current.click();
  };

  const handleFileChange = (e) => {
    const file = e.target.files[0];
    if (file) {
      setFileName(file.name);
    }
  };

  return (
    <div>
      {/* Hidden file input */}
      <input
        type="file"
        ref={fileInputRef}
        style={{ display: 'none' }}
        onChange={handleFileChange}
      />
      
      {/* Custom button */}
      <button onClick={handleButtonClick}>Upload Your File</button>
      
      {/* Display the chosen file name */}
      <span style={{ marginLeft: '10px' }}>{fileName}</span>
    </div>
  );
}

export default App;

In the above code example, I have used the ref={fileInputRef} to change choose file button text in react js.

Check the output of the above code.

React, change, file, button, text

All the best 👍