๐ค ์ค๋์ ์๋ฌ
React๋ก ์ฝ๋๋ฅผ ์ง๋ ์ค, ์ค๋์ ์๋์ ๊ฐ์ ์ฝ์ ์๋ฌ๋ฅผ ๋ง๋ฌ๋ค.
Received `true` for a non-boolean attribute `button`.
If you want to write it to the DOM, pass a string instead:
button="true" or button={value.toString()}.
๐ง ์ฒ์ ์์ฑํ ์ฝ๋
์ฒ์์๋ <h4> ์์์ button ์์ฑ์ ๋ถ์ฌํด, ํด๋ฆญํ๋ฉด ๋ชจ๋ฌ์ด ๋ํ๋๊ณ ๋ค์ ํด๋ฆญํ๋ฉด ๋ชจ๋ฌ์ด ์์ด์ง๋๋ก ํ๋ค. ์ด ๋ถ๋ถ์ด ๋ฌธ์ ์๋ค.
{
title.map(function(a, i){
return (
<div className="list" key={i}>
{/* ์ด ๋ถ๋ถ ์์ ํ์ */}
<h4 onClick={() => { setModal(!modal); setModalTitle(i) }}>{ title[i] }
<span onClick={()=>{
let copy = [...thumb];
copy[i] = copy[i] + 1;
setThumb(copy)
}}> ๐ </span>{ thumb[i] }
</h4>
<p className="share">๐ฎ ๊ณต์ ํ๊ธฐ</p>
</div>
)
})
}
๐ก ํด๊ฒฐ ๋ฐฉ๋ฒ
button ์์ฑ ์ ๊ฑฐ, <span>์ผ๋ก ํด๋ฆญ ์ด๋ฒคํธ ์ถ๊ฐ
๋๋ฒ๊น ๋ฐ ์์นญ์ ํด ๋ณด๋, ์ ์๋ฌ๋ JSX ์ฌ์ฉ ๋ฐฉ์์ด ์๋ชป๋์๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๊ฒ์ด๋ผ๊ณ ํ๋ค. ํ์ฌ <h4> ์์์ button ์์ฑ์ด ๋ถ์ฌ๋์ด ์๋๋ฐ, button์ ๋ฌธ์์ด ๋๋ ๋ถ๋ฆฌ์ธ ๊ฐ๋ง ํ์ฉ๋๋ค. ๋ฐ๋ผ์ <h4> ์์์ button ์์ฑ์ ์ ๊ฑฐํ๊ณ , ๋์ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ์์์ธ <span>์ ์ฌ์ฉํ์ฌ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ์ถ๊ฐํ๋ฉด ํด๊ฒฐ์ด ๋๋ค.
{
title.map(function(a, i){
return (
<div className="list" key={i}>
<h4>
<span onClick={() => { setModal(!modal); setModalTitle(i) }}>{ title[i] }</span>
<span onClick={()=>{
let copy = [...thumb];
copy[i] = copy[i] + 1;
setThumb(copy)
}}> ๐ </span>{ thumb[i] }
</h4>
<p className="share">๐ฎ ๊ณต์ ํ๊ธฐ</p>
</div>
)
})
}
๐ Today I learned
์ฌ์ค ๊ธฐ๋ฅ์ด ์ ๋์๊ฐ ์ ๋์ ํฌ๋ฆฌํฐ์ปฌํ ์๋ฌ๋ ์๋์์ง๋ง, ๋ฉฐ์น ์ ์ฝ์ ์๋ฌ๋ฅผ ๊ทธ๋ฅ ์ง๋์น๋ฉด ์ ๋๋ค๋ ํผ๋๋ฐฑ์ ๋ฐ๊ณ ์ด์ ์ฝ์ ์๋ฌ๋ ํ๋ํ๋ ์ดํด๋ณด๋ฉด์ ์์ ํ๊ณ ์๋ค. ๋๋ฑ๋๋ฑ ๋ฏ์ด๊ณ ์น๋ ์ฌ๋ฏธ๊ฐ ์๋ค.
๋๊ธ