подгрузкой которые пользователь может отмечать (это урезанный кусок, только то что к делу относится):
{
items: FileDataItem[],
selection: number[],
}
И эффект при изменении selection, который дергает onSelect св-во переданное сверху, в котором отдаются айтемы:
const onSelectProp = props.onSelect;
useEffect(() => {
onSelectProp(state.selection.map(i => state.items[i]));
}, [onSelectProp, state.selection, state.items]);
Сейчас props.onSelect вызывается больше раз чем нужно, потому что зависимость в этом эффекте на самом деле не [selection, items], а [selection, <items на которые указывает selection>]
Вопрос. Как красиво сделать, чтоб onSelect вызывался только с изменившимися аргументами и не вызывался, например, при подгрузке дополнительных айтемов?
{ items: FileDataItem[], selection: number[], } в useState?
Обсуждают сегодня