고성능 JSS
JSS를 사용하여 스타일을 지정하는 가장 효과적인 방법은 작업을 덜 수행하는 것임을 알게 되었습니다. 뭐?
선택자는 당신의 친구입니다
JSS를 사용할 때마다 "구성요소"에 대해 생각하기 시작했다는 것을 깨달았습니다. 그것은 아마도 반응 전용이기 때문일 것입니다.
그러나 CSS로 생각하기 시작하면 갑자기 JSS가 훨씬 간단해집니다.
직관적으로 다음과 유사한 방식으로 JSS를 사용합니다.
const styles = createStyles({
table: {
padding: "1rem",
},
tableHead: {
fontWeight: "bold",
},
tableHeadCell: {
fontSize: "0.75rem",
},
tableRow: {
padding: "0.5rem",
},
tableRowCell: {
fontSize: "0.5rem",
},
});
let useStyles = makeStyles(styles);
function TableComponent(props) {
let { items, columns } = props;
let classes = useStyles();
return (
<table className={classes.table}>
<thead className={classes.tableHead}>
{columns.map((column) => (
<th className={classes.tableHeadCell}>{column}</th>
))}
</thead>
<tbody>
{items.map((row) => (
<tr className={classes.tableRow}>
{row.map((cell) => (
<td className={classes.tableRowCell}>{cell}</td>
))}
</tr>
))}
</tbody>
</table>
);
}
I'm using good ol' fashion JSS here, but you can imagine the same principle with styled-components/emotion
익숙한 것 같죠? 각 스타일은 고유한 "구성 요소"입니다.
그러나 하나의 간단한 트릭인 선택기를 사용하여 테이블 내의 모든 항목에 스타일을 적용하는 대신 스타일을 한 번만 적용하면 성능을 높일 수 있습니다.
const styles = createStyles({
table: {
padding: "1rem",
"& thead": {
fontWeight: "bold",
"& th": {
fontSize: "0.75rem",
},
},
"& tbody": {
"& tr": {
padding: "0.5rem",
"& td": {
fontSize: "0.5rem",
},
},
},
},
});
let useStyles = makeStyles(styles);
function TableComponent(props) {
let { items, columns } = props;
let classes = useStyles();
return (
<table className={classes.table}>
<thead>
{columns.map((column) => (
<th>{column}</th>
))}
</thead>
<tbody>
{items.map((row) => (
<tr>
{row.map((cell) => (
<td>{cell}</td>
))}
</tr>
))}
</tbody>
</table>
);
}
선택자는 당신의 친구입니다.
Reference
이 문제에 관하여(고성능 JSS), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cvr/performant-jss-1l4m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)