JavaScript / react에서 특정 길이의 청크로 섹션을 어떻게 표시 할 수 있습니까?

알렉산더

현재는 배열을 통해 매핑하고 각 항목에 대해 원을 표시합니다.

    <div className='circlesCont'>
                  {launches.map((launch, index) => (
                    <div
                      className={`${'circle'} ${
                        index === slideNumber ? 'selectedPage' : ''
                      }`}
                      key={index}
                      id={index}
                      onClick={handleCirclePageClick}
                    ></div>
                  ))}
    </div>

한 번에 8 개의 항목 만 표시되도록 만들려고합니다.

예를 들어 항목 0 ~ 7 , 7 ~ 13 등입니다.

이것은지도 컨테이너 내부의 논리로 수행 할 수 있습니까?

현재 색인이 8 이상인 항목을 숨기고 처음 7 개를 표시 할 수 있지만 필요한 동작을 얻을 수있는 방법을 찾을 수 없습니다.

미리 감사드립니다

락샤 타쿠 르

.splice필요에 따라 동적 청크를 생성하는 데 사용할 수 있습니다 . launches배열 항목에는 렌더링 여부를 선택 하는 isVisible속성 이 포함됩니다 . 나는 그것을위한 샌드 박스를 만들었다. 주석과 함께 참조 할 수있는 코드는 다음과 같습니다.

import React, { useState } from "react";
import "./styles.css";

const defaultState = [
  { name: "Hey1", isVisibile: true },
  { name: "Hey2", isVisibile: true },
  { name: "Hey3", isVisibile: true },
  { name: "Hey4", isVisibile: true },
  { name: "Hey5", isVisibile: true },
  { name: "Hey6", isVisibile: true },
  { name: "Hey7", isVisibile: true },
  { name: "Hey8", isVisibile: true },
  { name: "Hey9", isVisibile: true },
  { name: "Hey10", isVisibile: true },
  { name: "Hey11", isVisibile: true },
  { name: "Hey12", isVisibile: true },
  { name: "Hey13", isVisibile: true },
  { name: "Hey14", isVisibile: true },
  { name: "Hey15", isVisibile: true },
  { name: "Hey16", isVisibile: true },
  { name: "Hey17", isVisibile: true },
  { name: "Hey18", isVisibile: true },
  { name: "Hey19", isVisibile: true }
];

export default function App() {
  const [state, setState] = useState(defaultState);

  const handleChunk = (start, end) => {
    // Get the chunk elements by using splice on copy of state;
    const chunkElements = [...state].splice(start, end - start);
    // For chunk elements, set the isVisible to false.
    chunkElements.forEach((ele) => (ele.isVisibile = false));
    // Make again a new copy of our state.
    const newState = [...state];
    // In our new state, update the visibility of the chunk elements.
    newState.splice(start, end - start, ...chunkElements);
    setState(newState);
  };
  return (
    <div className="App">
      <h1>Hello CodeSandbox</h1>
      <h2>Start editing to see some magic happen!</h2>
      <ul>{state.map((ele) => ele.isVisibile && <li>{ele.name}</li>)}</ul>
      <button onClick={() => handleChunk(3, 7)}>Chunk 3-7 it!!</button>
      <button onClick={() => handleChunk(8, 12)}>Chunk 8-12 it!!</button>
    </div>
  );
}

위는 매우 원시적 인 구현입니다. 상태 항목의 가시성을 처리하는 방법은 실제로 사용자에게 달려 있지만 함수에 명시된대로 청킹을 수행 할 수 있습니다.

코드 샌드 박스

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

특정 시간대의 시간을 어떻게 표현할 수 있습니까?

분류에서Dev

Excel로 내보낼 때 GridView에서 표시 이름 특성을 어떻게 사용할 수 있습니까?

분류에서Dev

r에서 주별로 휴일을 표시하는 함수를 어떻게 정의 할 수 있습니까?

분류에서Dev

Java에서 길이와 일부 요소 값으로 배열을 어떻게 정의 할 수 있습니까?

분류에서Dev

이 스크립트에 이름을 어떻게 표시 할 수 있습니까?

분류에서Dev

UITableViewController에서 섹션과 행을 어떻게 조정할 수 있습니까?

분류에서Dev

Swift에서 NSDate로 동적 UITable을 어떻게 주문하고 섹션 (정렬) 할 수 있습니까?

분류에서Dev

UITests에서 UITableView의 한 섹션을 어떻게 선택할 수 있습니까?

분류에서Dev

JavaScript에서 동기식 http 요청에 걸리는 시간을 어떻게 측정 할 수 있습니까?

분류에서Dev

JavaScript / jQuery에서 특정 이름을 ID에 어떻게 매핑 할 수 있습니까?

분류에서Dev

Javascript에서 AJAX 배열의 특정 부분을 어떻게 구문 분석 할 수 있습니까?

분류에서Dev

이 자바에서 특정 시간 간격으로 업데이트되지 때 어떻게 null로 변수의 값을 타임 아웃 할 수 있습니까?

분류에서Dev

SprayTest에서 json 본문으로 POST 요청을 어떻게 시뮬레이션 할 수 있습니까?

분류에서Dev

javascript onchange에서 값을 어떻게 표시 할 수 있습니까?

분류에서Dev

특정 셀의 데이터를 어떻게 표시 할 수 있습니까?

분류에서Dev

centOS6에서 표준 파티션의 크기를 어떻게 조정할 수 있습니까?

분류에서Dev

R로 특정 조건에서 행을 어떻게 곱할 수 있습니까?

분류에서Dev

SVN 후크를 사용하여 ACL에 의한 특정 파일의 체크인을 중지 할 수 있습니다. git로 어떻게 할 수 있습니까?

분류에서Dev

파이썬 Tkinter에서 크기가 조정 된 이미지를 어떻게 표시 할 수 있습니까?

분류에서Dev

OCaml에서 표기법을 어떻게 정의 할 수 있습니까?

분류에서Dev

json 객체를 매핑 한 후 특정 수의 렌더링을 어떻게 표시 할 수 있습니까?

분류에서Dev

nodejs 앱은 어떻게 특정 시간에 작업을 안정적으로 실행할 수 있습니까?

분류에서Dev

gnuplot에서이 방정식을 어떻게 표현할 수 있습니까?

분류에서Dev

다른 섹션의 섹션을 어떻게 할 수 있습니까?

분류에서Dev

Android의 RecyclerView에서 섹션을 정의 할 수 있습니까?

분류에서Dev

네트워크 및 공유 섹션의 "고급 공유 설정"섹션을 어떻게 열 수 있습니까?

분류에서Dev

R의 플롯에서 INF 값을 어떻게 표시 할 수 있습니까?

분류에서Dev

R의 플롯에서 INF 값을 어떻게 표시 할 수 있습니까?

분류에서Dev

Notepad ++에서 특정 확장명이있는 특정 줄을 어떻게 삭제할 수 있습니까?

Related 관련 기사

  1. 1

    특정 시간대의 시간을 어떻게 표현할 수 있습니까?

  2. 2

    Excel로 내보낼 때 GridView에서 표시 이름 특성을 어떻게 사용할 수 있습니까?

  3. 3

    r에서 주별로 휴일을 표시하는 함수를 어떻게 정의 할 수 있습니까?

  4. 4

    Java에서 길이와 일부 요소 값으로 배열을 어떻게 정의 할 수 있습니까?

  5. 5

    이 스크립트에 이름을 어떻게 표시 할 수 있습니까?

  6. 6

    UITableViewController에서 섹션과 행을 어떻게 조정할 수 있습니까?

  7. 7

    Swift에서 NSDate로 동적 UITable을 어떻게 주문하고 섹션 (정렬) 할 수 있습니까?

  8. 8

    UITests에서 UITableView의 한 섹션을 어떻게 선택할 수 있습니까?

  9. 9

    JavaScript에서 동기식 http 요청에 걸리는 시간을 어떻게 측정 할 수 있습니까?

  10. 10

    JavaScript / jQuery에서 특정 이름을 ID에 어떻게 매핑 할 수 있습니까?

  11. 11

    Javascript에서 AJAX 배열의 특정 부분을 어떻게 구문 분석 할 수 있습니까?

  12. 12

    이 자바에서 특정 시간 간격으로 업데이트되지 때 어떻게 null로 변수의 값을 타임 아웃 할 수 있습니까?

  13. 13

    SprayTest에서 json 본문으로 POST 요청을 어떻게 시뮬레이션 할 수 있습니까?

  14. 14

    javascript onchange에서 값을 어떻게 표시 할 수 있습니까?

  15. 15

    특정 셀의 데이터를 어떻게 표시 할 수 있습니까?

  16. 16

    centOS6에서 표준 파티션의 크기를 어떻게 조정할 수 있습니까?

  17. 17

    R로 특정 조건에서 행을 어떻게 곱할 수 있습니까?

  18. 18

    SVN 후크를 사용하여 ACL에 의한 특정 파일의 체크인을 중지 할 수 있습니다. git로 어떻게 할 수 있습니까?

  19. 19

    파이썬 Tkinter에서 크기가 조정 된 이미지를 어떻게 표시 할 수 있습니까?

  20. 20

    OCaml에서 표기법을 어떻게 정의 할 수 있습니까?

  21. 21

    json 객체를 매핑 한 후 특정 수의 렌더링을 어떻게 표시 할 수 있습니까?

  22. 22

    nodejs 앱은 어떻게 특정 시간에 작업을 안정적으로 실행할 수 있습니까?

  23. 23

    gnuplot에서이 방정식을 어떻게 표현할 수 있습니까?

  24. 24

    다른 섹션의 섹션을 어떻게 할 수 있습니까?

  25. 25

    Android의 RecyclerView에서 섹션을 정의 할 수 있습니까?

  26. 26

    네트워크 및 공유 섹션의 "고급 공유 설정"섹션을 어떻게 열 수 있습니까?

  27. 27

    R의 플롯에서 INF 값을 어떻게 표시 할 수 있습니까?

  28. 28

    R의 플롯에서 INF 값을 어떻게 표시 할 수 있습니까?

  29. 29

    Notepad ++에서 특정 확장명이있는 특정 줄을 어떻게 삭제할 수 있습니까?

뜨겁다태그

보관