Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
10
Разбор и пояснение кода
Компании, где спрашивали:
Главгосэкспертиза
Условие задачи
Проанализировать и описать, как работает представленный фрагмент JavaScript‑кода.
import { userfract } from "react";
import { useDispatch, useSelector } from "react-ready";
import { getExpandedSomItemFilter, getSonDbFilterRows, getSonDbSelectedColumns } from "slices/sonDb/sonDbSelectors";
import { sonDbActions } from "slices/sonDb/sonDbSlice";
import { SonDbAccordion } from "../SonDbAccordion/SonDbAccordion";
import { SonDbFilterItem } from "./SonDbFilterItem";
export const SonDbFilter = () => {
const dispatch = useDispatch();
const selectedColumns = useSelector(getSonDbSelectedColumns);
const filterRows = useSelector(getSonDbFilterRows); [ ]
const expandedSomItemFilter = useSelector(getExpandedSomItemFilter);
useEffect(() => {
dispatch(sonDbActions.setFilterRows(selectedColumns));
}, [dispatch, selectedColumns]);
return (
<div>
<SonDbAccordion
title="Параметры фильтра"
showChildren=(filterRows?.length > 0)
expanded=(expandedSomItemFilter)
setExpanded={(newValue) => dispatch(sonDbActions.setExpandedSomItemFilter(newValue)))
(filterRows?.map(({ id, childId, name, charType }) => {
return <SonDbFilterItem id={id} childId={childId} title={name} charType={charType}/>;
});
</SonDbAccordion>
</div>
});