在动态路由的Next.js应用程序中添加动态收藏图标,可以按照以下步骤进行操作:
下面是一个示例代码,展示了如何在Next.js应用程序中添加动态收藏图标:
import React, { useState, useEffect } from 'react';
const FavoriteIcon = () => {
const [isFavorite, setIsFavorite] = useState(false);
useEffect(() => {
// 从本地存储中读取收藏状态
const favoriteStatus = localStorage.getItem('favoriteStatus');
setIsFavorite(favoriteStatus === 'true');
}, []);
const toggleFavorite = () => {
// 切换收藏状态
const newFavoriteStatus = !isFavorite;
setIsFavorite(newFavoriteStatus);
// 将收藏状态存储在本地存储中
localStorage.setItem('favoriteStatus', String(newFavoriteStatus));
};
return (
<div>
<button onClick={toggleFavorite}>
{isFavorite ? '取消收藏' : '添加收藏'}
</button>
{/* 根据收藏状态来展示不同的图标样式 */}
<span className={isFavorite ? 'favorite-icon' : 'non-favorite-icon'}></span>
</div>
);
};
export default FavoriteIcon;
在上述示例代码中,我们创建了一个FavoriteIcon组件,它包含了一个按钮和一个用于展示收藏图标的span元素。按钮的点击事件触发toggleFavorite函数,该函数会切换收藏状态并更新图标的样式。通过useState和useEffect钩子,我们实现了收藏状态的管理和持久化。
请注意,上述示例代码中的图标样式类名(例如'favorite-icon'和'non-favorite-icon')仅作为示例,你需要根据你选择的图标资源文件和相应的CSS样式文件来适配。
希望这个示例可以帮助你在动态路由的Next.js应用程序中添加动态收藏图标。如有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云