reactjs - 反应如何更改标题标题以匹配 URL
问题描述
我无法更改标题的标题以匹配用户所在的页面。基本上,当用户单击主页上的按钮时,我希望下一页的标题标题与用户单击的按钮的名称相匹配。
这是我正在调用的数组的代码:
const mockData = [
{
id: 1,
name: 'squat',
weight: 100
},
{
id: 2,
name: 'bench',
weight: 200
},
{
id: 3,
name: 'deadlift',
weight: 300
},
];
这是标题按钮组件的代码:
import React, { useState} from 'react';
import Button from '@material-ui/core/Button';
import { makeStyles } from '@material-ui/core/styles';
import history from '../../utils/history';
export default function HeaderButton(props) {
const classes = useStyles();
const [ title ] = useState(props.title)
return (
<div>
<Button
variant="contained"
className={classes.button}
onClick={() => history.push("/")}>
{title}
</Button>
</div>
);
};
这是主页上按钮的代码:
function HomePage(props) {
const {
movements,
dispatchLoadMovements,
} = props;
const classes = useStyles();
const newMovements = movements && movements.map((movement) =>
<Button
key={movement.id}
title={movement.name}
className={classes.button}
onClick={() => history.push(`/movement/${movement.id}`)}>
{movement.name}
</Button>
);
以下是用户单击其中一个按钮时加载的页面的代码:
function PercentPage(props) {
const {
movements,
dispatchLoadMovements,
} = props;
const newMovements = movements && movements.map((movement) =>
<div key={movement.id}>
{movement.name}
</div>
);
useEffect(() => {
dispatchLoadMovements(INITIAL_PAGE, null);
// eslint-disable-next-line
}, []);
return (
<div>
<HeaderButton onClick={() => history.push(`/`)} title={newMovements}></HeaderButton>
就我现在所拥有的,下一页的标题标题为“SQUATBENCHDEADLIFT”,而不仅仅是“SQUAT”、“BENCH”或“DEADLIFT”,具体取决于用户单击的按钮。任何帮助,将不胜感激!
解决方案
推荐阅读
- ios - 如何设置可访问性容器以使手势正常工作?
- nuxt.js - 经典的 Vuex 到模块化:为什么 Getter 现在未定义?
- javascript - 如何用 JavaScript 找出 3 个值适合一个值的次数
- dataframe - 如何在windows的pyspark中集成深度学习管道?
- mongodb - 如何在使用 mongoose 中另一个集合中的文档填充字段时查询文档?
- linker-errors - 编辑 freeRToS 版本 10.4.1 和 2020.12 的 main_blinky.c 文件时出现链接错误
- javascript - KTDatatables - 在具有模板的列中搜索
- python - 使用 Python 和 Exchangelib 查找尚未回复的电子邮件
- reporting-services - 从 ssrs 中的多个字段中查找最小日期
- python - 为什么在使用派生数据收集两个数据帧的统计信息时收到长度不匹配错误