Files
5chan/src/hooks/useFeedRows.js
T

20 lines
644 B
JavaScript
Raw Normal View History

2023-08-04 21:33:51 +02:00
import { useMemo, useRef } from "react"
const useFeedRows = (feedWithDescriptionAndRules, columnCount) => {
const rowsRef = useRef([]);
return useMemo(() => {
const rows = [];
for (let i = 0; i < feedWithDescriptionAndRules.length; i += columnCount) {
if (rowsRef.current?.[rows.length] && rowsRef.current[rows.length].length === columnCount) {
rows.push(rowsRef.current[rows.length])
}
else {
rows.push(feedWithDescriptionAndRules.slice(i, i + columnCount))
}
}
rowsRef.current = rows
return rows;
}, [feedWithDescriptionAndRules, columnCount]);
}
export default useFeedRows;