>웹 프론트엔드 >HTML 튜토리얼 >React를 사용하여 이미지 캐러셀 구성 요소 완성

React를 사용하여 이미지 캐러셀 구성 요소 완성

php中世界最好的语言
php中世界最好的语言원래의
2018-03-08 17:36:203105검색

이번에는 React를 사용하여 imagecarousel 컴포넌트를 완성하는 방법을 소개하겠습니다. React를 사용하여 Image Carousel 컴포넌트를 완성할 때의 주의사항은 무엇인지 살펴보겠습니다.

React를 사용하여 이미지 캐러셀 구성 요소 완성

React를 사용하여 위의 기능을 구현합니다. 먼저 구성 요소를 나눕니다.

<SlideMS> <SlideM/>
 <SlideS/><SlideMS/>

SlideM 구성 요소는 항상 상태를 유지하는 China Picture 구성 요소를 나타냅니다. currentMIndex는 의 인덱스 값입니다. 현재 중국 사진 사진.
SlideS 구성 요소는 작은 그림 구성 요소를 나타내며 현재 작은 그림의 인덱스 값과 작은 그림의 현재 페이지 번호인 currentSIndex 및 currentSPage의 두 가지 상태를 유지해야 합니다.

외부 구성 요소 SlideMS는 다음과 같은 여러 매개 변수를 허용합니다. props:

<SlideMS     mediumImageArr={mediumImageArr}    eachMediumImgWidth = {616}    smallImageArr={smallImageArr}     eachSmallImgWidth = {82}/>, document.getElementById(&#39;js-img-slide&#39;));
SlideM、SlideS再从SlideMS中获取参数进行内部渲染。
<SlideM     mediumImageArr={mediumImageArr}    currentMIndex={currentMIndex}    eachMediumImgWidth = {eachMediumImgWidth}    callback={(index)=>{self.setSmallIndex(index)}} /><SlideS      smallImageArr={smallImageArr}      currentSIndex={currentSIndex}      eachSmallImgWidth={eachSmallImgWidth}      eachMediumImgWidth = {eachMediumImgWidth}      callback={(index)=>{self.setMediumIndex(index)}}/>

중간 이미지의 전환 버튼 을 클릭하면 이미지 오프셋이 계산된 다음 새 currentMIdex가 상위 구성 요소로 전달됩니다. 상위 구성 요소 setState는 currentMIndex가 변경되었음을 두 하위 구성 요소에 알립니다.

작은 이미지 구성요소에 관련된 계산 비교 이를 추출하는 방법은 여러 가지가 있습니다. 예를 들어, 중간 그림의 주어진 너비를 기준으로 페이지에 작은 그림의 수를 계산하고, 작은 그림의 총 개수를 계산합니다. 페이지에서 주어진 인덱스 값 등을 기반으로 작은 그림이 어느 페이지에 있는지 확인합니다.

작은 그림 구성 요소의 왼쪽 및 오른쪽 화살표를 클릭하면 그림의 오프셋을 계산한 다음(먼저 중간 그림에 작은 그림이 몇 개 있는지 계산) setState가 작은 그림의 현재SPage 값을 수정합니다. . 상위 구성 요소인 setState는 currentMIndex가 변경되었음을 두 개의 하위 구성 요소에 알립니다.

ComponentWillReceiveProps에서 새 값 변경을 수신한 후 중간 그림과 작은 그림 구성 요소는 각각 ResetState를 수행하고 구성 요소 내부의 상태를 업데이트하여 두 구성 요소 간의 연결을 실현합니다. 둘.소통.

위는 구현 아이디어입니다. 실제 응용 프로그램에서는 장면이 더 복잡합니다. 예를 들어 첫 번째 사진은 비디오를 재생해야 할 수 있으며, 중간 사진을 클릭하면 큰 사진 모드에서 회전식 화면으로 전환될 수 있습니다. 정상일 수 있으며, 대형 사진 모드를 끄면 중형 사진과 소형 사진이 방금 본 마지막 사진을 자동으로 찾습니다. 여기에는 약간 더 복잡한 작업이 포함되며 이를 기반으로 호환성이 수행되어야 합니다.

매우 당황스러운 점: 이미지 캐러셀 중 animation 효과는 여전히 jquery의 animate를 사용합니다.

위 내용은 React를 사용하여 이미지 캐러셀 구성 요소 완성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.