【发布时间】:2021-01-13 15:38:25
【问题描述】:
我认为这很容易,但仍然找不到简单的解决方案。我只是想将页面标题(和 document.title)设置为我选择的指定字符串。我知道我可以访问 useLocation 并获取当前路线,但这不适用于合乎逻辑的人工命名。例如,我的路线可能是 /new,但我希望页面的标题是“添加新事物”。 请注意,我为页面标题添加了一个新道具,这似乎是添加它的合理位置(然后使用 useEffect 拉取它),但不知道如何访问此道具。
如果这不是正确的方法,你会怎么做?我是否应该为当前 url(useLocation) 设置一个字典/查找并分配一个人工页面标题?
主要目标:如果有人直接点击 URL '/new',您将如何设置标题?
我当前的结构来自一个基本的创建反应应用程序。
在我的 index.js 中
ReactDOM.render(
<React.StrictMode>
<Router>
<App />
</Router>
</React.StrictMode>,
document.getElementById('root')
);
app.js
<div className="quiz-app-row">
<SideBarNav />
<div className='quiz-app-col'>
<h1>{TITLE HEREEEEE}</h1>
<Switch>
<Route exact component={Home} path="/" title='home' />
<Route exact component={Example} path="/manage" title='example' />
<Route exact component={CreateQuiz} path="/new" title='New Quiz' />
</Switch>
</div>
</div>
【问题讨论】:
-
你不想用动态标题替换
<h1>TITLE HEREEEEE</h1>吗? -
@TaghiKhavari 是的,但是由于我还没有办法访问
的标题属性,所以我什至没有显示它。我会编辑它以防其他人感到困惑。
标签: reactjs react-router react-router-dom page-title