{"repo":"staylor/react-helmet-async","free":true,"listed":false,"github":"https://github.com/staylor/react-helmet-async","clone":"git clone https://github.com/staylor/react-helmet-async.git","description":"Thread-safe Helmet for React 16+ and friends","language":"TypeScript","stars":2297,"topics":["helmet","react","reactjs"],"license":"Apache-2.0","category":"ui-components","readme_excerpt":"react-helmet-async Announcement post on Times Open blog This package is a fork of React Helmet. usage is synonymous, but server and client now requires to encapsulate state per request. react-helmet relies on react-side-effect , which is not thread-safe. If you are doing anything asynchronous on the server, you need Helmet to encapsulate data on a per-request basis, this package does just that. React 19 React 19 has built-in support for hoisting , , , , and elements to . Starting with version 3.0.0, this package detects the React version at runtime: - React 19+ : renders actual DOM elements and lets React handle hoisting them to . becomes a transparent passthrough. The existing API is fully compatible — you do not need to change any code. - React 16–18 : The existing behavior is preserved. collects all instances, deduplicates tags, and applies changes to the DOM via manual manipulation (client) or serializes them for the response (server). Note: htmlAttributes and bodyAttributes do not have a React 19 equivalent, so they are still applied via direct DOM manipulation on both code paths. If you are starting a new React 19 project and do not need htmlAttributes / bodyAttributes , SSR context serialization, onChangeClientState , prioritizeSeoTags , or titleTemplate support, you may not need this package at all — React 19's built-in metadata handling may be sufficient. Usage New in 1.0.0: No more default export! import { Helmet } from 'react-helmet-async' The main way that this pa","default_branch":null,"files":null,"tree":[],"storefront":"/r/staylor","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/staylor/react-helmet-async/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}