- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
页脚必须显示不同的 CTA,具体取决于用户是在主页上还是在产品页面上。产品页面是一个单独的页面,用于呈现主页上所选项目的产品信息,我实现的方式是使用 useParams(),并在 page.id(来自数据文件) 和页面 ID。
我以为我可以为页脚做同样的事情,但我收到一个错误,声称一切都是未定义的,字面上的,一切。
这是我的页脚组件。如您所见,我正在将数据文件夹中的页脚数据作为“pageItems”导入:
import React from 'react';
import { useParams } from 'react-router';
import pageItems from '../../data/footerData';
function Footer() {
const { pageID } = useParams();
const individualPage = pageItems.find(page => page.id === pageID);
return (
<div className="footer-container">
<p>{individualPage.copy}</p>
<a href="https://www.lego.com/kids" target="_blank">
<img src={individualPage.cta} alt="cta" />
</a>
</div>
);
}
数据文件(它只是一个 javascript 文件)的结构如下:
const footerData = [
{
id: '1',
copy: 'You can find more fun at',
cta: HomeCta,
href: 'https://www.something.com',
},
];
我确信我可以创建
<Route path="/:videoID">
之间的相关性(有效)和页脚,但我似乎无法正确理解。
return (
<Router>
<Navbar />
<Switch>
<Route path="/:videoID">
<FeaturedVideo />
</Route>
<Route exact path="/">
<Home />
</Route>
</Switch>
<Footer />
</Router>
);
}
任何帮助都会真正有帮助。非常感谢你!
最佳答案
解决办法是保留<Footer />
内<Router>
,但在 <Switch>
之外并将其作为组件分配给 <Route>
与许多 path
值,而您希望它显示。
这是 codesandbox 上的工作版本
import React from "react";
import "./styles.css";
import {
BrowserRouter as Router,
Switch,
Route,
Link,
useParams
} from "react-router-dom";
const Footer = (props) => {
let { videoID } = useParams();
return <h3>Requested video ID: {videoID}</h3>;
};
export default function App() {
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
<Router>
<Link to="/2">VideoID2 </Link>
<Link to="/3">VideoID3 </Link>
<Link to="/4">VideoID4 </Link>
<Switch>
<Route path="/:videoID">
<p>You are viewing</p>
</Route>
<Route exact path="/"></Route>
</Switch>
<Route exact path={["/", "/:videoID"]} component={Footer} />
</Router>
</div>
);
}
关于javascript - 使用 React.js 在网站的页脚上显示不同的 CTA 按钮,具体取决于页面路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64436566/
好的,所以我似乎无法将号召性用语居中,知道为什么它卡在左边吗?请记住,我使用的是 bootstrap 和 sass
我的页面上有一个号召性用语按钮,我试图将其稍微向右移动,以便更好地与页面上它上方的文本/图像对齐。我尝试的所有操作要么将其移到其他元素后面,要么什么都不做。任何提示/技巧/解决方案都会很棒。下面列出了
我如何在导航栏下制作粘性 CTA,在点击 CTA 按钮或 X 时关闭。这可用于在您的网站上开展事件,或让用户了解正在进行的任何销售。 这就是我要找的:https://imgur.com/a/jLF0s
我希望你能帮助我。 CTA Button我用于我的电子邮件目前仅当您单击文本时才可单击。我正在尝试使整个框可点击。 我的 CTA 按钮的当前 HTML 代码是:
我想制作一个 CTA 按钮,在页面滚动到一定程度后粘在页面底部。请看下图: 规则如下: 加载时,它应该位于 CTA 按钮的原始位置。 滚动页面时,CTA 按钮将随之滚动。 当 CTA 按钮到达窗口顶部
我在尝试让我的右栏有一个占据该栏的整个高度和宽度的按钮时遇到了问题。下面是我的代码。我试过调整高度,设置位置,但仍然没有在这个奇怪的结构中找到任何运气。 我使用 Twitter Bootstrap 4
我正在尝试使用一些 javascript 代码自动登录。我目前的流程是检查每个用户名框、密码框和登录按钮的元素。然后我简单地使用“复制选择器”来找到选择器并相应地调整我的 .js 文件。 这在 Lin
我想根据一列中的标准执行 STDEV.P 计算。 我当前的公式是: {=STDEV.P(IF(Aggregated!Y$15:Y$3000="*cta*",Aggregated!AD15:AD3000
我开始创建我自己的 CK5 编辑器插件,但现在卡在了用于创建自定义号召性用语按钮的插件上。 我想要什么 我在编辑器工具栏中创建了一个按钮来创建一个新按钮。我想要发生的是创建一个按钮元素,并且用户能够编
我在 this website 上有一个开始订单按钮当悬停时会改变图像。我想复制相同的功能以使用开始订单按钮旁边的当前位置按钮。目前,我正在使用此代码将当前位置用作按钮,但我也想要悬停。 jQuery
如何只获取这个id属性的中间部分: js-danielaCta 我只想获取 daniela 这个词,但这个词可以是动态的。我基本上每次都想删除“js-”和“Cta”。 如何在 javascript 中
我正在制作一个网站,我需要一张 CTA 图片。我正在使用 Bootstrap 4,我制作了一个自定义 CSS 来调整图像的外观。我把它放在屏幕的整个宽度上,所以 width: 100%;当我调整屏幕大
页脚必须显示不同的 CTA,具体取决于用户是在主页上还是在产品页面上。产品页面是一个单独的页面,用于呈现主页上所选项目的产品信息,我实现的方式是使用 useParams(),并在 page.id(来自
我在桌面上的下方有这个按钮 - 当用户单击它时,它将把他们带到下面的某个部分。但是我怎样才能更改按钮的链接呢?假设用户使用的是 Android 手机,此按钮的链接将更改为 Google Play 商店
当我编写这个直邮电子邮件事件时,我一直遇到这个内联 HTML/CSS 过程的问题。由于某些原因,CTA 按钮不会在 Outlook Office 365 中出现或呈现。天哪,看看下面的代码,如果您发现
我是一名优秀的程序员,十分优秀!