Я создаю небольшую библиотеку компонентов, и у меня есть компонент таблицы, и моя задача - сделать его модульным и универсальным, чтобы его можно было изменить позже
Теперь таблица по своей природе является компонентом контейнера, который можетсодержат различные различные другие небольшие компоненты, которые я собираю в библиотеке.
Что я хочу знать?
Является ли приведенный ниже подход правильным способом передачи компонента в другой компонент?если нет, то каков правильный или лучший способ сделать это?
Что я делаю
таблица имеет много реквизитов, но 3 основных реквизита:
colName
, который представляет собой массив строк, проходящих через таблицуимя столбца каждого столбца
data
- это массив, содержащий массив для каждой строки.
dataComponent
(остается неопределенным, если вы хотите отобразить данные как обычные текстовые данные), который являетсямассив компонентов (тот, который я определил в библиотеке), который будет использоваться для определенного столбца для каждой строки
Слишком много разговоров о строке и столбце и коде
Now Here Вот пример кода:
const User = [
<React.Fragment>
<span className="userinfo">
<MUserIcon user_name={"dummy1"} profile_type={"facebook"} />
</span>
<span className="userinfo">
<MLink
link_href={"https://www.facebook.com"}
link_content={"dummy1"}
/>
</span>
</React.Fragment>,
<React.Fragment>
<span className="userinfo">
<MUserIcon user_name={"dummy2"} profile_type={"instagram"} />
</span>
<span className="userinfo">
<MLink
link_href={"https://www.instagram.com"}
link_content={"dummy2"}
/>
</span>
</React.Fragment>,
<React.Fragment>
<span className="userinfo">
<MUserIcon
user_name="imawebdev"
profile_type="linkedin"
user_img_src={pro_pic}
/>,
</span>
<span className="userinfo">
<MLink
link_href={"https://www.linkedin.com"}
link_content={"imawebdev"}
/>
</span>
</React.Fragment>
];
return (
<div className="App">
<MTable
title="Demo Table"
colsName={["Account Name", "Queued", "Errors"]}
data={[["imawebdev", 5, 0], ["dummy1", 4, 3], ["dummy2", 4, 0]]}
dataComponent={[User]}
/>
</div>
);
}
Приведенный выше код имеет dataComponent
, который передает компонент для colName
«Account Name», который состоит из компонента аватара пользователя (который я создал как частьбиблиотеки) с именем MUserIcon
, то же самое можно сказать и о MLink
, который является компонентом гиперссылки.