DEV Community

Coder
Coder

Posted on

How to open link in a new tab in React

As a developer, you understand how essential it is to provide an excellent user experience for your web applications. One of the ways you can achieve this is by opening external links in a new tab. In this guide, we will walk you through how to do it in React.

Why Open Links in a New Tab?

When users click on a link in your web application, it will usually take them away from your site to another page. However, suppose you open the link in the same tab. In that case, they may forget how they landed on the page and not remember how to get back to your website. Opening links in a new tab ensures that the user remembers the original site and can easily return to it.

What is React?

React is a JavaScript library used for building user interfaces. It was created by Facebook and has since become widely used globally, given its ease of use and flexibility. The library uses components to build user interfaces, which makes it reusable and easier to manage.

Adding the Target Attribute

To open a link in a new tab, you need to add the target attribute to the anchor tag. The target attribute specifies where to open the linked document.

<a href="https://www.google.com" target="_blank">Google</a>
Enter fullscreen mode Exit fullscreen mode

In the above code snippet, target="_blank" specifies that the link should open in a new tab.

Using React

In React, you will use the a element to create links. To make sure that the links open in a new tab, you need to use the target attribute, as we have seen in the previous section.

<a href="https://www.google.com" target="_blank">Google</a>
Enter fullscreen mode Exit fullscreen mode

However, in React, we seldom use the a element directly. Instead, we use Link components from the react-router-dom.

To open URLs in a new tab using Link components, you can pass an object to the to prop that includes the URL and the option target: '_blank'.

import { Link } from 'react-router-dom';

<Link to={{ pathname: "https://www.google.com", target: "_blank" }}>Google</Link>
Enter fullscreen mode Exit fullscreen mode

This code will create a link that opens google.com on a new browser tab.

Setting Up a Button That Opens a Link in a New Tab in React

Let's say you have a button in your application. When the user clicks on the button, you want to open a URL in a new tab.

Here is how you can implement that:

import { Button } from 'react-bootstrap';

const openLinkInNewTab = (url) => {
    window.open(url, '_blank');
}

<Button onClick={() => openLinkInNewTab('https://www.google.com')} variant="primary">
    Open Google in a new tab
</Button>
Enter fullscreen mode Exit fullscreen mode

In the above code snippet, we create a button using React Bootstrap's Button component. We then define a function called openLinkInNewTab that receives a URL as a parameter. When the button is clicked, it calls the openLinkInNewTab function, which opens the specified URL in a new browser tab using the window.open method.

Pass a Function That Opens a New Tab to a Button

You can also pass the openLinkInNewTab function to onClick event handler of a button, as shown below.

<Button onClick={() => window.open('https://www.google.com', '_blank')} variant="primary">
    Open Google in a new tab
</Button>
Enter fullscreen mode Exit fullscreen mode

This code opens the https://www.google.com URL in a new tab when you click on the button.

Conclusion

Opening links in a new tab is an excellent way to improve the user experience of your website or web application. In React, we use the a element to create links, and we set the target attribute to _blank to open them in new tabs. We can also use Link components from the react-router-dom library to achieve the same goal.

In this post, we've explored different ways to open links in a new tab in React. You can use any of the methods depending on your use case. We hope this guide has been helpful. Happy coding!

Top comments (0)