In this article, we will build step-by-step a beautiful Unsplash Image Search App with pagination using React.By building this app, you will learn:and much more...Want to watch the video version of this tutorial? You can check out the video below:We will use Vite to create a project which is a popular alternative to create-react-app.Execute the following command to create a vite project:Once executed, you will be asked some questions.For the project name, enter unsplash_image_search.For framework, select React and for variant select JavaScript:Once the project is created, open the project in VS Code and execute the following commands from the terminal:Access the application by navigating to http://127.0.0.1:5173/.You will see the default application screen as shown below:Next, delete the App.css file and replace the contents of the App.jsx file with the following content:Now, open the index.css file and add the contents from this GitHub repo to it.Let's install Bootstrap and react-bootstrap npm packages by executing the following command:Open the main.jsx file and add the following line of code on the first line, to add the base bootstrap CSS file:The complete main.jsx file will look like this:Now, restart the application by executing npm run dev command.You will see the welcome message displayed on the screen as shown below:Now, replace the contents of App.jsx file with the following content:Here, we're displaying the title of Image search inside a container class, which is a Bootstrap class, to add some margin to the left and right of the page.Then we added a form with a type of search.If you check the application, you will see the following screen:Now, we need to store the value entered by the user somewhere in the component.As we will have only one input field on the page, we will use the useRef hook instead of the useState hook.Using the useRef hook does not re-render the component when its value changes, which is good for performance improvement. On the other hand, changing state re-renders the component, so all of the child components will also re-render.Inside the App.jsx file, declare the useRef hook as shown below:Don't forget to add import for useRef hook at the top of the file:Also, add a ref prop for the search input, like this:Your complete App.jsx file will look like this:When we enter any search term in the search box and press the enter key, we want to add the search functionality.To do so, add an onSubmit handler to the Form tag and create a handleSearch method. And assign it to the onSubmit prop like this:Here, we have added