目前,我一直在试图让盖茨比通过点击切换产品页面上的主图像。我看到很多解决方案都使用state并通过状态操作切换活动类,但由于某些原因,我无法将state或任何其他函数添加到我当前的js文件中。我使用盖茨比和盖茨比图像来渲染图像。
我现在想要的是能够在这三幅图像中进行选择,并使所选图像成为大的主图像
这是我的代码,我知道它很凌乱,但一直在摆弄它,试图让它工作
const Product = ({ data }) => {
const post = data.shopifyProduct;
return (
<Layout>
<h1>{post.title}</h1>
<h5>Price: <span>{post.variants[0].price}</span></h5>
<div
dangerouslySetInnerHTML={{ __html: post.description }}
/>
<GatsbyImage id="main" image={getImage(post.images[0])} alt={post.images.altText} />
<div class="gallery">
<GatsbyImage id="img-2" image={getImage(post.images[0])} alt={post.images.altText} />
<GatsbyImage id="img-2" image={getImage(post.images[1])} alt={post.images.altText} />
<GatsbyImage id="img-2" image={getImage(post.images[2])} alt={post.images.altText} />
</div>
</Layout>
);
};
Product.propTypes = {
data: PropTypes.object.isRequired,
};
谢谢你的检查
1条答案
按热度按时间vulvrdjw1#
您应该能够使用react
useState
钩子(https://reactjs.org/docs/hooks-state.html):