React useTitle Hook
index.html y script.js ya se han proporcionado en la máquina virtual. En general, solo es necesario agregar código a script.js y style.css.
Para establecer el título de la página, se puede usar el hook personalizado useTitle. Este hook utiliza typeof para comprobar si Document está definido. Si está definido, se utiliza el hook useRef() para almacenar el título original del Document. Luego, se utiliza el hook useEffect() para establecer Document.title con el valor pasado cuando el componente se monta y limpiar cuando se desmonta.
const useTitle = (title) => {
const documentDefined = typeof document !== "undefined";
const originalTitle = React.useRef(documentDefined ? document.title : null);
React.useEffect(() => {
if (!documentDefined) return;
if (document.title !== title) {
document.title = title;
}
return () => {
document.title = originalTitle.current;
};
}, [title]);
};
En el código de ejemplo, el componente Alert utiliza el hook useTitle para establecer el título en "Alert". El componente MyApp renderiza un botón que alterna el componente Alert.
const Alert = () => {
useTitle("Alert");
return (
<div>
<p>¡Alerta! El título ha cambiado</p>
</div>
);
};
const MyApp = () => {
const [alertOpen, setAlertOpen] = React.useState(false);
return (
<div>
<button onClick={() => setAlertOpen(!alertOpen)}>Alternar alerta</button>
{alertOpen && <Alert />}
</div>
);
};
ReactDOM.render(<MyApp />, document.getElementById("root"));
Haga clic en 'Go Live' en la esquina inferior derecha para ejecutar el servicio web en el puerto 8080. Luego, puede actualizar la pestaña Web 8080 para previsualizar la página web.