맵 함수 내의 모든 반복에 새 참조를 어떻게 할당 할 수 있습니까?

웨슬리 보네빌

이 질문을 어떻게해야할지 모르겠습니다. 여전히 문제의 틀을 정확히 파악할 수 없기 때문입니다.

useHover 함수를 만들었습니다. 아래에서 내가 데이터를 매핑하고 많은 사진을 렌더링하고 있음을 알 수 있습니다. 그러나 useHover는 첫 번째 반복에서만 작동합니다.

나는 그것이 내 심판 때문이라고 생각합니다. 어떻게 작동합니까? 각 반복 내부에 새 참조를 만들어야합니까? 아니면 잘못된 생각입니까 ..?

어떻게 할 수 있습니까?

여기 내 useHover 함수가 있습니다.

const useHover = () => {
  const ref = useRef();
  const [hovered, setHovered] = useState(false);

  const enter = () => setHovered(true);
  const leave = () => setHovered(false);

  useEffect(() => {
    ref.current.addEventListener("mouseenter", enter);
    ref.current.addEventListener("mouseleave", leave);

    return () => {
      ref.current.removeEventListener("mouseenter", enter);
      ref.current.removeEventListener("mouseleave", leave);
    };
  }, [ref]);

  return [ref, hovered];
};

여기 내지도 기능이 있습니다. 보시다시피 이미지에 참조를 할당했습니다.

문제 : 마우스를 가져 가면 이미지 중 하나만 작동합니다.

const [ref, hovered] = useHover();

  return (
    <Wrapper>
      <Styles className="row">
        <Div className="col-xs-4">
          {data.map(item => (
            <div className="row imageSpace">
              {hovered && <h1>{item.fields.name}</h1>}
              <img
                ref={ref}
                className="image"
                key={item.sys.id}
                alt="fall"
                src={item.fields.image.file.url}
              />
            </div>
          ))}
        </Div>
TJ 크라우 더

JavaScript 코드에서 호버링을 처리하는 대신 가능하면 CSS를 사용하여이를 처리합니다.

JavaScript 코드에서 수행하는 경우 마우스를 올려 놓은 항목에 대한 구성 요소를 생성하여이를 처리합니다.

function MyImage({src, header}) {
    const [ref, hovered] = useHover();
    return (
        <div className="row imageSpace">
          {hovered && <h1>{header}</h1>}
          <img
            ref={ref}
            className="image"
            alt="fall"
            src={src}
          />
        </div>
    );
}

그런 다음 해당 구성 요소를 사용하십시오.

return (
  <Wrapper>
    <Styles className="row">
      <Div className="col-xs-4">
        {data.map(item =>
          <MyImage
            key={item.sys.id}
            src={item.fields.image.file.url}
            header={item.fields.name}
          />
        )}
      </Div>

(분명히 원하는 경우 구성 가능한 소품을 더 많이 만드십시오.)

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

enum 내에서 함수 참조를 어떻게 사용할 수 있습니까?

분류에서Dev

함수 내부의 구조체 멤버에 char *를 어떻게 할당 할 수 있습니까?

분류에서Dev

목록의 모든 값을 반복하는 Haskell에서 for 루프를 어떻게 구현할 수 있습니까?

분류에서Dev

함수 내에서 FileInfo 유형을 어떻게 참조 할 수 있습니까?

분류에서Dev

모든 HTML 템플릿에서 정적 변수를 어떻게 참조 할 수 있습니까?

분류에서Dev

화면 크기 조정에서 수평 Li의 모든 내용을 어떻게 이동할 수 있습니까?

분류에서Dev

Cloudformation의 ImportValue에서 변수를 어떻게 참조 할 수 있습니까?

분류에서Dev

내 페이지에서 requirejs 모듈 내에 정의 된 함수를 어떻게 호출 할 수 있습니까?

분류에서Dev

파이썬에서 참조로 함수의 "숫자 변수"를 어떻게 전달할 수 있습니까?

분류에서Dev

내 DataFrame의 모든 장르를 어떻게 계산할 수 있습니까?

분류에서Dev

ExtJS의 맵 이벤트에서 viewcontrol에서 함수를 어떻게 실행할 수 있습니까?

분류에서Dev

python과 leveldb로 모든 키를 어떻게 반복 할 수 있습니까?

분류에서Dev

javascript for 문에 정의 된 객체를 어떻게 참조 할 수 있습니까?

분류에서Dev

playRound () 함수를 어떻게 반복 할 수 있습니까?

분류에서Dev

React의 부모 클래스에 맵 박스 좌표를 어떻게 전달할 수 있습니까?

분류에서Dev

JAVA, 어떻게 내 코드를 반복 할 수 있습니까?

분류에서Dev

내부 개체는 선언시 부모의 개체를 어떻게 참조 할 수 있습니까?

분류에서Dev

나중에 다른 쿼리와 함께 사용할 수있는 조인의 모든 필드를 어떻게 선택할 수 있습니까?

분류에서Dev

C #의 for 루프 내에서 다른 반복을 어떻게 할당 할 수 있습니까?

분류에서Dev

맵 슬라이스에서 참조 된 함수에 추가 (정적) 입력 인수를 어떻게 추가 할 수 있습니까?

분류에서Dev

junit에서 새 통화 생성을 어떻게 모의 할 수 있습니까?

분류에서Dev

내 보관함에없는 iTunes 폴더의 모든 파일을 어떻게 삭제할 수 있습니까?

분류에서Dev

맵 함수 내부에있는 콜백 함수에 매개 변수를 어떻게 전달할 수 있습니까?

분류에서Dev

Recyclerview의 새로운 기능입니다. 모든 bottomnavigationview 항목에 대해 recyclerview를 표시하고 싶습니다. 어떻게 할 수 있습니까?

분류에서Dev

어떻게 변수에`System.out.println`의 참조를 할당?

분류에서Dev

`반복`양식 내에서`count` 함수를 어떻게 사용할 수 있습니까?

분류에서Dev

참조로 Swift 구조체를 어떻게 할당 할 수 있습니까?

분류에서Dev

C #에서 루프를 사용하여 모든 ComboBoxes 컨트롤을 어떻게 반복 할 수 있습니까?

분류에서Dev

Flutter에서 List의 각 인덱스에 대해이 함수를 어떻게 반복 할 수 있습니까?

Related 관련 기사

  1. 1

    enum 내에서 함수 참조를 어떻게 사용할 수 있습니까?

  2. 2

    함수 내부의 구조체 멤버에 char *를 어떻게 할당 할 수 있습니까?

  3. 3

    목록의 모든 값을 반복하는 Haskell에서 for 루프를 어떻게 구현할 수 있습니까?

  4. 4

    함수 내에서 FileInfo 유형을 어떻게 참조 할 수 있습니까?

  5. 5

    모든 HTML 템플릿에서 정적 변수를 어떻게 참조 할 수 있습니까?

  6. 6

    화면 크기 조정에서 수평 Li의 모든 내용을 어떻게 이동할 수 있습니까?

  7. 7

    Cloudformation의 ImportValue에서 변수를 어떻게 참조 할 수 있습니까?

  8. 8

    내 페이지에서 requirejs 모듈 내에 정의 된 함수를 어떻게 호출 할 수 있습니까?

  9. 9

    파이썬에서 참조로 함수의 "숫자 변수"를 어떻게 전달할 수 있습니까?

  10. 10

    내 DataFrame의 모든 장르를 어떻게 계산할 수 있습니까?

  11. 11

    ExtJS의 맵 이벤트에서 viewcontrol에서 함수를 어떻게 실행할 수 있습니까?

  12. 12

    python과 leveldb로 모든 키를 어떻게 반복 할 수 있습니까?

  13. 13

    javascript for 문에 정의 된 객체를 어떻게 참조 할 수 있습니까?

  14. 14

    playRound () 함수를 어떻게 반복 할 수 있습니까?

  15. 15

    React의 부모 클래스에 맵 박스 좌표를 어떻게 전달할 수 있습니까?

  16. 16

    JAVA, 어떻게 내 코드를 반복 할 수 있습니까?

  17. 17

    내부 개체는 선언시 부모의 개체를 어떻게 참조 할 수 있습니까?

  18. 18

    나중에 다른 쿼리와 함께 사용할 수있는 조인의 모든 필드를 어떻게 선택할 수 있습니까?

  19. 19

    C #의 for 루프 내에서 다른 반복을 어떻게 할당 할 수 있습니까?

  20. 20

    맵 슬라이스에서 참조 된 함수에 추가 (정적) 입력 인수를 어떻게 추가 할 수 있습니까?

  21. 21

    junit에서 새 통화 생성을 어떻게 모의 할 수 있습니까?

  22. 22

    내 보관함에없는 iTunes 폴더의 모든 파일을 어떻게 삭제할 수 있습니까?

  23. 23

    맵 함수 내부에있는 콜백 함수에 매개 변수를 어떻게 전달할 수 있습니까?

  24. 24

    Recyclerview의 새로운 기능입니다. 모든 bottomnavigationview 항목에 대해 recyclerview를 표시하고 싶습니다. 어떻게 할 수 있습니까?

  25. 25

    어떻게 변수에`System.out.println`의 참조를 할당?

  26. 26

    `반복`양식 내에서`count` 함수를 어떻게 사용할 수 있습니까?

  27. 27

    참조로 Swift 구조체를 어떻게 할당 할 수 있습니까?

  28. 28

    C #에서 루프를 사용하여 모든 ComboBoxes 컨트롤을 어떻게 반복 할 수 있습니까?

  29. 29

    Flutter에서 List의 각 인덱스에 대해이 함수를 어떻게 반복 할 수 있습니까?

뜨겁다태그

보관