我是叶海亚
我正在用Strapi的帮助建立电子商务应用程序
这是我的代码:
// var is used because I want to use state in different functions
var [ functionIsRunning , setFunctionIsRunning] = useState(false);
const handleFavourite = () => {
setFunctionIsRunning(true);
}
const navigateToSinglePage = () => {
if(functionIsRunning=== false)
{
navigate("/product/" + id)
}
}
return (
<div className="product-card" onClick={navigateToSinglePage}>
<div className="thumnail">
<img src={process.env.REACT_APP_DEV_URL + data?.img?.data[0]?.attributes.url} alt="" />
<div className="heart" onClick={handleFavourite}>
< AiOutlineHeart/>
</div>
</div>
<div className="product-details">
<span className="Name">{data?.Title}</span>
<span className="price">Rs {data?.Price}</span>
</div>
</div>
);
状态总是假的
我想在收藏夹中添加产品,而不重定向到单一产品页面
如果有人有其他方法来执行这个过程,你可以叙述
问候!
1条答案
按热度按时间f8rj6qna1#
你需要使用useEffect钩子。创建一个像这样的句柄单击函数:
然后使用use effect钩子在状态发生变化时执行一个操作,如下所示:
原因是react组件是纯的,这意味着它们总是对相同的输入具有相同的输出。因此,任何你想在状态改变时发生的“副作用”,都必须发生在一个use effect钩子中,这个钩子将在每次状态改变时执行。