How to change choose file button text in react js?
September 17, 2024Hi 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.
All the best 👍