classnames

JJYยท2024๋…„ 8์›” 15์ผ

FRONT

๋ชฉ๋ก ๋ณด๊ธฐ
9/11
post-thumbnail

๐Ÿ‘€ classnames

classnames๋Š” CSS ํด๋ž˜์Šค ์ด๋ฆ„์„ ์กฐ๊ฑด๋ถ€๋กœ ์‰ฝ๊ฒŒ ์กฐํ•ฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. React, Vue ๋“ฑ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ํŠนํžˆ ์กฐ๊ฑด์— ๋”ฐ๋ผ ํด๋ž˜์Šค ์ด๋ฆ„์„ ๋™์ ์œผ๋กœ ์ ์šฉํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค.

classnames๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋ฅผ ๋ฐฐ์—ด์ด๋‚˜ ๊ฐ์ฒด๋กœ ๋ฌถ์–ด์„œ ํ•œ ๋ฒˆ์— ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ธด ๋ฌธ์ž์—ด๋กœ ์กฐ๊ฑด๋ถ€ ํด๋ž˜์Šค ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๊น”๋”ํ•˜์—ฌ ๊ฐ€๋…์„ฑ์ด ํ–ฅ์ƒ๋œ๋‹ค.

๐ŸŒŸ ์„ค์น˜

npm i classnames

๐ŸŒŸ ์‚ฌ์šฉํ•˜๊ธฐ

classNames('foo', 'bar'); // => 'foo bar'
classNames('foo', { bar: true }); // => 'foo bar'
classNames({ 'foo-bar': true }); // => 'foo-bar'
classNames({ 'foo-bar': false }); // => ''
classNames({ foo: true }, { bar: true }); // => 'foo bar'
classNames({ foo: true, bar: true }); // => 'foo bar'

// lots of arguments of various types
classNames('foo', { bar: true, duck: false }, 'baz', { quux: true }); // => 'foo bar baz quux'

// other falsy values are just ignored
classNames(null, false, 'bar', undefined, 0, 1, { baz: null }, ''); // => 'bar 1'

// ex
// isActive์ด๋ฉด active์ ์šฉ
<div className={cx({'active': isActive })} >
// isActive์ด๋ฉด .cotainer.isActive์ ์šฉ
<div className={cx('container', { active: isActive })}>

๐Ÿ““ ์ฐธ๊ณ 

๊ณต์‹๋ฌธ์„œ - CLASSNAMES ์‚ฌ์šฉ๋ฒ•

profile
์•ˆ๋…•ํ•˜์„ธ์š” :)

0๊ฐœ์˜ ๋Œ“๊ธ€