我尝试添加Splide库来创建Next.js上的滑块(幻灯片)
首先
我在使用Next.js构建网站时,想要实现以下网站上类似的自动滑动幻灯片式的横幅功能。

根据我的调查,我发现在JavaScript中可以使用Slick,而在React中可以使用Splide,通过使用它们可以轻松实现所需功能。然而,尽管我尝试着使用它们,但结果并不理想。因此,以下是这些工具的介绍方法汇总。
请问您有什么问题?
使用以下方法将Next.js引入,但无法顺利使用。
$ npm install @splidejs/splide
import React from 'react';
import { Splide, SplideSlide } from '@splidejs/react-splide';
export default () => {
return (
<Splide
options={ {
rewind: true,
gap : '1rem',
} }
aria-label="お気に入りの写真"
>
<SplideSlide>
<img src="image1.jpg" alt="Image 1"/>
</SplideSlide>
<SplideSlide>
<img src="image2.jpg" alt="Image 2"/>
</SplideSlide>
<SplideSlide>
<img src="image3.jpg" alt="Image 3"/>
</SplideSlide>
</Splide>
);
}
引入方式 rù
通过进行此操作取得解决
$ npm i splide-nextjs --save
由于没有类型文件,否则会出错,因此我会在直接下面创建以下文件。
$ touch react-splide.d.ts
declare module "splide-nextjs/react-splide";
还可以以同样的方式使用。
<Splide
options={{
rewind: true,
width: window.innerWidth / 2,
perPage: 2,
type: "loop",
autoplay: true,
perMove: 1,
}}
>
<SplideSlide>
<img src="/bnr1.png" alt="Image 1" className="bnr" />
</SplideSlide>
<SplideSlide>
<img src="/bnr2.jpg" alt="Image 2" className="bnr" />
</SplideSlide>
<SplideSlide>
<img src="/bnr3.jpg" alt="Image 3" className="bnr" />
</SplideSlide>
</SplideSlide>
</Splide>
最后
因为我曾经试图用CSS来完全实现它,但是感到绝望,所以能够使用这个库真是太好了。
我在网上几乎找不到关于如何在Next.js中使用它的信息,所以我尝试简单地总结了一下。
总之,我觉得这个工具非常方便。
请参考