/
DevDenzo
/
ERP
Обзор
Документация
Войти
/
DevDenzo
/
ERP
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/components/ReferenceTables/RefTableBase/RefTableBase.jsx
40 строк
2 KB
Denis Sklyarskij
Инициализирован репозиторий
14 янв 2026, 23:32
14 янв 2026, 23:32
1df3d47
Код
Авторство
О чём код?
// Импорт базовых зависимостей import React, { memo } from 'react'; // Основной импорт React и функции memo для мемоизации компонента import PropTypes from 'prop-types'; // Библиотека для типизации пропсов компонента /** * Компонент базовой справочной таблицы (RefTableBase) * * Назначение: * - служит универсальным контейнером для структуры таблицы; * - применяет базовые стили к таблице (полосатая разметка); * - использует мемоизацию для оптимизации перерендера при неизменных пропсах. * * Особенности: * - компонент является «обёрткой», внутрь которой передаются другие компоненты таблицы * (шапка, тело, зафиксированные столбцы и т.п.); * - использует memo() для предотвращения лишних перерендеров, если пропсы не изменились. * * @param {Object} props — Объект свойств компонента * @param {React.ReactNode} props.children — Содержимое таблицы (дочерние компоненты) * @returns {JSX.Element} Отрендеренный HTML-элемент <table> с базовыми стилями */ const RefTableBase = memo(({ children }) => ( <table className="table table-striped">{children}</table> )); // Типизация пропсов компонента RefTableBase.propTypes = { /** * Содержимое таблицы. * Ожидаются дочерние компоненты таблицы (например, <thead>, <tbody>, * или другие пользовательские компоненты, формирующие структуру таблицы). * * @type {PropTypes.node} * @required */ children: PropTypes.node.isRequired, }; // Экспорт компонента по умолчанию для использования в других модулях export default RefTableBase;