<p>react-window-infinite-loader: 잘λͺ»λœ λͺ©λ‘ μ°Έμ‘°</p>

에 λ§Œλ“  2020λ…„ 03μ›” 24일  Β·  9μ½”λ©˜νŠΈ  Β·  좜처: bvaughn/react-window

λ¬΄ν•œ λ‘œλ” μ„€λͺ…μ„œμ˜ 지침을 λ”°λžμ§€λ§Œ μ—¬μ „νžˆ μ½˜μ†”μ— λ‹€μŒ κ²½κ³ κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€. Invalid list ref; please refer to InfiniteLoader documentation.

λ‚΄ μ½”λ“œ:

import InfiniteLoader from "react-window-infinite-loader";
const infiniteLoaderRef = useRef<InfiniteLoader>(null);

<InfiniteLoader
  isItemLoaded={index => index < items.length}
  itemCount={1000}
  threshold={20}
  loadMoreItems={loadMoreItems}
  ref={infiniteLoaderRef}
>
...
</InfiniteLoader>

λ‚΄κ°€ μ—¬κΈ°μ„œ 뭘 잘λͺ»ν•˜κ³  μžˆλ‹ˆ? 감사 ν•΄μš”!

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

InfiniteLoader 와 AutoSizer κ΅μ²΄ν•˜μ—¬ AutoSizer λ₯Ό μ™ΈλΆ€ ꡬ성 μš”μ†Œλ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆκΉŒ?

λ‚΄κ°€ μ˜¬λ°”λ₯΄κ²Œ κΈ°μ–΅ν•œλ‹€λ©΄ 그것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  9 λŒ“κΈ€

InfiniteLoader λ Œλ” μ†Œν’ˆμ—μ„œ FixedSizeList ꡬ성 μš”μ†Œλ‘œ μ°Έμ‘°λ₯Ό μ „λ‹¬ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

예, 이것이 ν˜„μž¬ 가지고 μžˆλŠ” κ²ƒμž…λ‹ˆλ‹€.

<InfiniteLoader
  isItemLoaded={index => index < items.length}
  itemCount={1000}
  threshold={20}
  loadMoreItems={loadMoreItems}
  ref={infiniteLoaderRef}
>
  {({ onItemsRendered, ref }) => (
    <AutoSizer style={{ minHeight: "800px" }}>
      {({ height, width }) => (
        <VariableSizeGrid
          columnWidth={_index => width / numberOfColumns}
          columnCount={numberOfColumns}
          rowCount={Math.ceil(items.length / numberOfColumns)}
          rowHeight={_index => heightOfRow}
          height={height}
          width={width}
          ref={ref}
        >
          {props => <GridItem {...props} />}
        </VariableSizeGrid>
      )}
    </AutoSizer>
  )}
</InfiniteLoader>

InfiniteLoader 와 AutoSizer κ΅μ²΄ν•˜μ—¬ AutoSizer λ₯Ό μ™ΈλΆ€ ꡬ성 μš”μ†Œλ‘œ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆκΉŒ?

λ‚΄κ°€ μ˜¬λ°”λ₯΄κ²Œ κΈ°μ–΅ν•œλ‹€λ©΄ 그것은 λ‚˜λ₯Ό μœ„ν•΄ μΌν–ˆμŠ΅λ‹ˆλ‹€.

AutoSizerλ₯Ό μ™ΈλΆ€ ꡬ성 μš”μ†Œλ‘œ μ‚¬μš©ν•˜λŠ” κ²½μš°μ—λ„ λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @killpowa , μ œκ°€ ​​볼 수 μžˆλŠ” μ˜ˆκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

μ•ˆλ…•ν•˜μ„Έμš” @chrisnevenλ‹˜ , μ—¬κΈ° μ˜ˆμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€ - μ½”λ“œμƒŒλ“œλ°•μŠ€

미리 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€. :)

μ•ˆλ…•ν•˜μ„Έμš” @DevAKS-Yara,

κ·€ν•˜μ˜ 예λ₯Ό μ‚΄νŽ΄λ³΄μ•˜κ³  ref μ—μ„œ InfiniteLoader ꡬ성 μš”μ†Œλ₯Ό λͺ©λ‘ ꡬ성 μš”μ†Œ( VirtualTable )둜 μ „λ‹¬ν•˜μ§€ μ•Šμ•˜μœΌλ―€λ‘œ 이것이 주된 μ΄μœ μž…λ‹ˆλ‹€. invalid ref λ©”μ‹œμ§€λ₯Ό λ°›μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” λ‹Ήμ‹ μ˜ 예λ₯Ό νŽΈμ§‘ν•˜κ³  μž‘λ™ν•˜λŠ” 버전을 κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€

μ—¬κΈ°μ„œ μ€‘μš”ν•œ 점은 λͺ©λ‘ ꡬ성 μš”μ†Œμ— λŒ€ν•œ λ‹€λ₯Έ μ°Έμ‘°λ₯Ό μ›ν•˜κ³  InfiniteLoader ꡬ성 μš”μ†Œλ„ μ‚¬μš©ν•  λ•Œ InfiniteLoader μ°Έμ‘° 및 ν•„μš”ν•œ 기타 μ°Έμ‘°λ₯Ό μ„€μ •ν•˜λŠ” 콜백 ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ•Ό ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. . VirtualTable ꡬ성 μš”μ†Œμ˜ setRefs ν•¨μˆ˜λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

μ•ˆλ…•ν•˜μ„Έμš” @DevAKS-Yara,

κ·€ν•˜μ˜ 예λ₯Ό μ‚΄νŽ΄λ³΄μ•˜κ³  ref μ—μ„œ InfiniteLoader ꡬ성 μš”μ†Œλ₯Ό λͺ©λ‘ ꡬ성 μš”μ†Œ( VirtualTable )둜 μ „λ‹¬ν•˜μ§€ μ•Šμ•˜μœΌλ―€λ‘œ 이것이 주된 μ΄μœ μž…λ‹ˆλ‹€. invalid ref λ©”μ‹œμ§€λ₯Ό λ°›μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” λ‹Ήμ‹ μ˜ 예λ₯Ό νŽΈμ§‘ν•˜κ³  μž‘λ™ν•˜λŠ” 버전을 κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€

μ—¬κΈ°μ„œ μ€‘μš”ν•œ 점은 λͺ©λ‘ ꡬ성 μš”μ†Œμ— λŒ€ν•œ λ‹€λ₯Έ μ°Έμ‘°λ₯Ό μ›ν•˜κ³  InfiniteLoader ꡬ성 μš”μ†Œλ„ μ‚¬μš©ν•  λ•Œ InfiniteLoader μ°Έμ‘° 및 ν•„μš”ν•œ 기타 μ°Έμ‘°λ₯Ό μ„€μ •ν•˜λŠ” 콜백 ν•¨μˆ˜λ₯Ό μž‘μ„±ν•΄μ•Ό ν•œλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. . VirtualTable ꡬ성 μš”μ†Œμ˜ setRefs ν•¨μˆ˜λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

였! InfiniteLoader μ—μ„œ VirtualTable refλ₯Ό 직접 μ „λ‹¬ν•˜λ €κ³  ν–ˆμ§€λ§Œ 잘 λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ „λ‹¬λœ refλ₯Ό 직접 μ‚¬μš©ν•˜λŠ” 것과 콜백 ν•¨μˆ˜λ₯Ό 톡해 μ„€μ •ν•˜λŠ” κ²ƒμ˜ 차이점은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?

BTW, μ†”λ£¨μ…˜ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! πŸ‘πŸΌ :)

BTW, μ†”λ£¨μ…˜ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! πŸ‘πŸΌ :)

μ²œλ§Œμ—μš”!

였! InfiniteLoader μ—μ„œ VirtualTable refλ₯Ό 직접 μ „λ‹¬ν•˜λ €κ³  ν–ˆμ§€λ§Œ 잘 λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. μ „λ‹¬λœ refλ₯Ό 직접 μ‚¬μš©ν•˜λŠ” 것과 콜백 ν•¨μˆ˜λ₯Ό 톡해 μ„€μ •ν•˜λŠ” κ²ƒμ˜ 차이점은 λ¬΄μ—‡μž…λ‹ˆκΉŒ?

refλ₯Ό 직접 전달할 μˆ˜λ„ μžˆμ§€λ§Œ 이 κ²½μš°μ—λŠ” λΆ„λͺ…νžˆ μ—¬λŸ¬ μ°Έμ‘°κ°€ ν•„μš”ν•©λ‹ˆλ‹€. "콜백 μ°Έμ‘°"λ₯Ό μ‚¬μš©ν•˜μ—¬ DOM λ…Έλ“œμ— μ—¬λŸ¬ μ°Έμ‘°λ₯Ό ν• λ‹Ήν•  수 μžˆμŠ΅λ‹ˆλ‹€. 가급적이면 useCallback 후크에 λ„£μ–΄μ•Ό ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ 콜백 μ°Έμ‘°κ°€ λ‹€μ‹œ λ Œλ”λ§λ˜λŠ” λ™μ•ˆ λ³€κ²½λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰