このブログでは、reactにカルーセルスライダーを実装する方法を見ていきます。私は、多くのエンタープライズ ビジネスに製品を提供し、それらのブランド ロゴを誇らしげに表示するテクノロジー スタートアップの Web サイトを再作成しました。サイトを再作成するとき、私はブランドをカルーセルに表示することにしました。カルーセルは自動で無限で、手動でスワイプできます。
React Slick というライブラリを使用して、カルーセル スライダーを実現しました。コマンドラインに以下を入力して、最初にライブラリをインストールする必要があります。
npm install react-slick --save
yarn add react-slick
npm install slick-carousel --save
@import "~slick-carousel/slick/slick.css";
@import "~slick-carousel/slick/slick-theme.css";
ここで、次のようにコンポーネントに名前を付け、そこからBrandSliderインポートSliderしたスライダーを構築していきreact-slickます。
import React, { useState } from 'react';
import Slider from 'react-slick';
import '../../styling/brandslider.css';
const BrandSlider = () => {
return (
)
}
ブランドごとに、Googleでロゴのpngファイルを見つけ、フォトショップでほぼ同じサイズと色にして、会社のテーマに合わせました。各画像をインポートしてから、コンポーネント内でマッピングする配列を作成しました。以下の例では、私はブランド名を追加していないが、単にブランドは数字が続きます。
import React, { useState } from 'react';
import Slider from 'react-slick';
import brandOne from '../../assets/Brand1Logo.png';
import brandTwo from '../../assets/Brand2Logo.png';
import brandThree from '../../assets/Brand3Logo.png';
import brandFour from '../../assets/Brand4Logo.png';
import brandFive from '../../assets/Brand5Logo.png';
import brandSix from '../../assets/Brand6Logo.png';
import brandSeven from '../../assets/Brand7Logo.png';
import brandEight from '../../assets/Brand8Logo.png';
import '../../styling/brandslider.css';
const images = [brandOne, brandTwo, brandThree, brandFour, brandFive, brandSix, brandSeven, brandEight];
const BrandSlider = () => {
return (
)
}
ここで、「imageIndex」と呼ばれる新しい状態変数を宣言し、それを 0 に設定します。次に、以下に示すように、配列をマップするメイン コードを追加します。
import React, { useState } from 'react';
import Slider from 'react-slick';
import brandOne from '../../assets/Brand1Logo.png';
import brandTwo from '../../assets/Brand2Logo.png';
import brandThree from '../../assets/Brand3Logo.png';
import brandFour from '../../assets/Brand4Logo.png';
import brandFive from '../../assets/Brand5Logo.png';
import brandSix from '../../assets/Brand6Logo.png';
import brandSeven from '../../assets/Brand7Logo.png';
import brandEight from '../../assets/Brand8Logo.png';
import '../../styling/brandslider.css';
const images = [brandOne, brandTwo, brandThree, brandFour, brandFive, brandSix, brandSeven, brandEight];
const BrandSlider = () => {
const [imageIndex, setImageIndex] = useState(0);
return (
<div className='slider'>
<p>Empowering leading global brands</p>
<Slider>
{images.map((img) => (
<div className='temp'>
<img src={img} alt={img} />
</div>
))}
</Slider>
</div>
)
}
どの画像が「アクティブ」 (中央)で、どの画像がそうでないかを表現するclassNameためにdiv、三項演算子としてを追加します。スライダーを構成するための設定も追加します (これはプロジェクトによって異なる場合があります)。
import React, { useState } from 'react';
import Slider from 'react-slick';
import brandOne from '../../assets/Brand1Logo.png';
import brandTwo from '../../assets/Brand2Logo.png';
import brandThree from '../../assets/Brand3Logo.png';
import brandFour from '../../assets/Brand4Logo.png';
import brandFive from '../../assets/Brand5Logo.png';
import brandSix from '../../assets/Brand6Logo.png';
import brandSeven from '../../assets/Brand7Logo.png';
import brandEight from '../../assets/Brand8Logo.png';
import '../../styling/brandslider.css';
const images = [brandOne, brandTwo, brandThree, brandFour, brandFive, brandSix, brandSeven, brandEight];
const BrandSlider = () => {
const [imageIndex, setImageIndex] = useState(0);
const settings = {
infinite: true,
lazyload: true,
speed: 500,
slidesToShow: 5,
centerMode: true,
centerPadding: 0,
autoplay: true,
beforeChange: (current, next) => setImageIndex(next)
};
return (
<div className='slider'>
<p>Empowering leading global brands</p>
<Slider {...settings}>
{images.map((img, idx) => (
<div className={idx === imageIndex ? "slide activeSlide" : "slide"}>
<img src={img} alt={img} />
</div>
))}
</Slider>
</div>
)
}
.slide {
transform: scale(0.5);
transition: transform 300ms;
opacity: 0.2;
}
.activeSlide {
transform: scale(1.5);
transition: transform 300ms;
opacity: 1;
}
facebook.com にリクエストを送信すると、コンピュータはドメイン名を検索してそのドメイン名を IP アドレスに変換し、コンピュータが接続できるようにします。
今日の非常につながりの深い世界では、メディア システムは世論の形成、ひいては民主的な意思決定において極めて重要な役割を果たしています。学者のロバート・マクチェズニーは、コミュニケーションの政治経済についての深い分析の中で、従来の通念に疑問を呈し、メディアに関する彼の言うところの「5つの真実」を提示します。
新しいキャリアへの転職は、一人でやろうとすると非常に困難になる可能性があります。あなたと同じ学習レベルにあり、同様の目標、粘り強さ、意欲を共有する責任パートナーを見つけることが重要です。
はじめに:勇敢な読者の皆さん、地球の最も暗い深みへ私たちを導く旅へようこそ。このブログでは、マリアナ海溝の謎に満ちた世界を掘り下げ、その隠された秘密を明らかにし、その表面の下にある骨も凍るような真実を明らかにします。
今日の急速に進化するビジネス環境において、ハイブリッドおよびリモートワークの概念は前例のない勢いを増しています。企業が従業員のニーズや期待の変化に適応し続ける中、さまざまな分野の専門家が集まり、この変革的な働き方のメリット、課題、将来について議論しています。