Как установить заголовок документа в React?
Я хотел бы установить заголовок документа (в строке заголовка браузера) для моего приложения React. Я пробовал использовать react-document-title (устарели) и параметр document.title
на constructor
и componentDidMount()
- ни одно из этих решений работать.
5 ответов
import React from 'react'
import ReactDOM from 'react-dom'
class Doc extends React.Component{
componentDidMount(){
document.title = "dfsdfsdfsd"
}
render(){
return(
<b> test </b>
)
}
}
ReactDOM.render(
<Doc />,
document.getElementById('container')
);
это работает для меня.
Edit: если вы используете webpack-dev-server, установите значение true
вы должны установить заголовок документа в жизненном цикле 'componentWillMount':
componentWillMount() {
document.title = 'your title name'
},
можно использовать Реагировать Шлем а также:
import React from 'react';
import {Helmet} from 'react-helmet';
class MyComponent extends React.PureComponent {
render () {
return (
<div>
<Helmet>
<title>My Title</title>
</Helmet>
...
</div>
);
}
};
вы можете использовать следующие ниже document.title = 'Home Page'
import React from 'react'
import { Component } from 'react-dom'
class App extends Component{
componentDidMount(){
document.title = "Home Page"
}
render(){
return(
<p> Title is now equal to Home Page </p>
)
}
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
или вы можете использовать этот пакет NPM npm i react-document-title
import React from 'react'
import { Component } from 'react-dom'
import DocumentTitle from 'react-document-title';
class App extends Component{
render(){
return(
<DocumentTitle title='Home'>
<h1>Home, sweet home.</h1>
</DocumentTitle>
)
}
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
Удачи В Кодировании!!!
Я впервые нашел этот ответ SpaceK33z на: https://github.com/CodeYellowBV/create-react-cy-app/issues/4
- вы устанавливаете его в public / index.html, который создается при использовании create-react-app для создания проекта.
Я также добавил следующую дополнительную информацию:
для следующего примера проекта (в windows):
- открыть команду nodejs строки
- перейти к c:\temp
- выполните следующую команду: npx create-react-пример приложения-react-app
-
когда приложение будет создано, у вас будет следующая папка структура:
- c:\temp\example-react-app
- папки node_modules
- общественные
- favicon.ico
- .HTML-код
- манифест.в JSON
- src
- etc.
- c:\temp\example-react-app
открыть public / index.HTML-код файл, и вы увидите следующее код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="theme-color" content="#000000">
<link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<title>React App</title>
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root"></div>
</body>
</html>
- вы можете увидеть тег title:
<title>React App</title>
- измените заголовок с "React App" на нужное значение.