Posts
Q&A
์ธํผ๋ํธ ์คํฌ๋กค๋ง์ ๊ดํ ์ง๋ฌธ์ ๋๋ค.
์๋ ค์ฃผ์ ๋๋ก ํ๋ ์ด์ ์ ๋ผ์! :D ์น์ ํ๊ฒ ์๋ ค์ฃผ์๊ณ ๊ฐ์ด ํด๊ฒฐํด์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค! ์ ์๋ ๋๋ถ์ ํ๋ณตํ ๊ธ์์ผ ์ ๋ ์ ๋ณด๋ผ ๊ฒ ๊ฐ์์ :) ์ ์๋๋ ์ฆ๊ฑฐ์ด ๊ธ์์ผ ์ ๋ , ์ฃผ๋ง์ด ๋๊ธธ ๋ฐ๋ผ๊ฒ ์ต๋๋ค! ๋ค์ ํ ๋ฒ ๊ฐ์ฌํฉ๋๋ค :D
- 0
- 8
- 426
Q&A
์ธํผ๋ํธ ์คํฌ๋กค๋ง์ ๊ดํ ์ง๋ฌธ์ ๋๋ค.
์๋ ค์ฃผ์ ๋๋ก if(window.scrollY)๋ฅผ ์ถ๊ฐํ์ฌ ์ค๋ณต์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ํ์์ ํด๊ฒฐ์ด ๋์๋๋ฐ ์ธํผ๋ํธ ์คํฌ๋กค๋ง์ด ๋์ง ์์ต๋๋ค. ๋ก๊ทธ๋ฅผ ํตํด ํ์ธํด๋ณด๋ !countRef.current.includes(lastId) ๊ฐ false์ฌ์ ์คํ์ด ๋์ง ์์๋๋ฐ, ํด์ํ๊ทธ๋ฅผ ํตํด ์ด๋ํ์ ๋ countRef๊ฐ ๋น ๋ฐฐ์ด์ด์ฌ์ผ ํ๋๋ฐ lastId๊ฐ ์ด๋ฏธ ์ฑ์์ ธ ์์์ต๋๋ค. ์ด ๋ฒ๊ทธ๊ฐ ๋ฉ์ธํ์ด์ง(ํ)์์ ํด์ํ๊ทธ๋ฅผ ๋๋ฌ์ ์ด๋ํ๋ฉด ๋ฐ์ํ์ง ์๋๋ฐ, ํด์ํ๊ทธ ํ์ด์ง ๋ด์์ ํด์ํ๊ทธ๋ฅผ ๋ค์ ๋๋ฅด๋ฉด ๋ฐ์ํฉ๋๋ค.
- 0
- 8
- 426
Q&A
์ธํผ๋ํธ ์คํฌ๋กค๋ง์ ๊ดํ ์ง๋ฌธ์ ๋๋ค.
์ ๋ ฅํ ์์๋๋ก 0, 559, 259 ๋ก ๋์ต๋๋ค.
- 0
- 8
- 426
Q&A
์ธํผ๋ํธ ์คํฌ๋กค๋ง์ ๊ดํ ์ง๋ฌธ์ ๋๋ค.
const PostCardContent = ({ postData }) => { return ( div> {postData.split(/(#[^\s]+)/g).map((v) => { if(v.match(/#[^\s]+/)) { return ( Link scroll={false} href={{ pathname: '/hashtag', query: { tag: v.slice(1) }}} as={`/hashtag/${v.slice(1)}`} key={v} > a>{v}a> Link> ) } return v; })} div> ) }; ๋ง์ํด์ฃผ์ ๋ถ๋ถ์ scroll={false} ๋ฅผ ์ถ๊ฐํ๋๋ฐ๋ ๊ฐ์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํฉ๋๋ค. ํน์๋ํ๊ณ ์์ ํ ๋ค ์๋ฒ ์ฌ์์๋ ํด๋ดค๋๋ฐ๋ ๊ทธ๋๋ก์ ๋๋คใ ใ
- 0
- 8
- 426
Q&A
ํน์ ๋ฆฌ์กํธ ๋น๋๋๋ ํํ์ด์ง๋ฅผ ๋ฐ๊พธ๊ณ ์ถ์๋ฐ ์์๋์?
๋ฆฌ์กํธ๋ ํด๋ผ์ด์ธํธ ์ฌ์ด๋์์ ์คํ๋๋ ์์ค์ฝ๋๋ผ์ ๋ฐฑ์๋์ ๊ฒฝ์ฐ์๋ node.js์ ๊ฐ์ ๊ฑธ ์ด์ฉํด์ ๋ฐ๋ก ์๋ฒ๋ฅผ ์คํ์์ผ์ผ ํฉ๋๋ค. ๊ทธ๋์ ๋ง์ ๋ฐฑ์๋์ ์ฐ๋๋๋ค๊ณ ํ ๊ฒ๋๋ค. ์ ๊ฐ์ ๊ฒฝ์ฐ์๋ node.js๋ฅผ ์ฌ์ฉํ๋๋ฐ ์๋์ ๋งํฌ๋ฅผ ํตํด ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐ๋ผํ์๋ฉด์ ์ด๋ ๊ฒ ์ฐ๋ํ๋ ๊ตฌ๋ ํ๊ณ ๊ฐ ์ก์ผ์๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. https://www.freecodecamp.org/news/how-to-make-create-react-app-work-with-a-node-backend-api-7c5c48acb1b0/ ์ ๋ ์ฒจ์ ์ ๋ชฐ๋ผ์ ๋ฆฌ์กํธ ํฌํธ์ ์๋ฒ ํฌํธ๋ฅผ ๊ฐ์ด ํด์ ์คํ์์ผฐ์๋๋ฐ ์ด๋ ๊ฒ ํ์๋ฉด ์๋๊ณ , ๋ฆฌ์กํธ์ proxy ์ค์ ์ ๋ฐ๋ก ํด์ฃผ์ ๋ค์ ์๋ฒ๋ ์๋ฒ ํฌํธ(ex.4000๋ฒ)๋๋ก ๋ฆฌ์กํธ๋ ๋ฆฌ์กํธ๋๋ก ํฌํธ(ex.3000๋ฒ)๋ฅผ ๋ฐ๋ก ์คํํ๋ฉด ๋ฉ๋๋ค. ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค :)
- 0
- 3
- 2.9K
Q&A
ํน์ ๋ฆฌ์กํธ ๋น๋๋๋ ํํ์ด์ง๋ฅผ ๋ฐ๊พธ๊ณ ์ถ์๋ฐ ์์๋์?
'์ ์ดํ > ํ๋ก๊ทธ๋จ > ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ > ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ ์ค์ ' ์ ๋ค์ด๊ฐ์ ์ Chrome ์ ํ ํ '์ด ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ์ผ๋ก ์ค์ ' ํ์๋ฉด ๋ฆฌ์กํธ๊ฐ ๋น๋ ๋ ๋ ํฌ๋กฌ์ฐฝ์ผ๋ก ์ด๋ฆฌ๊ฒ ๋ฉ๋๋ค :)
- 0
- 3
- 2.9K
Q&A
componentDidCatch์ ๊ด๋ จ๋ ์ง๋ฌธ์ ๋๋ค.
์๋ ํ์ธ์ :) ์ง๋ฌธํ์ ์ง๋ ์ค๋ ์ง๋ฌ๊ณ , ์ ๋ฐฉ๋ฒ์ด ๋ง๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง ์ ๋ ์ง๋ฌธ์๋๊ณผ ๊ฐ์ ์ํฉ์ ๊ฒช์๋ ํฐ๋ผ ์ ๊ฐ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๊ณต์ ํด์ ์ด์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฒช๋ ๋ถ๋ค์๊ฒ ๋์์ด ๋์์ผ๋ฉด ํ๋ ๋ง์์ ๋ต๋ณ๊ธ์ ๋ต๋๋ค.์ ๋ componentDidCatch() ๋ฉ์๋๊ฐ component์์ ๋ฐ์ํ ์๋ฌ๋ฅผ ํด๊ฒฐํด์ฃผ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ฌ ์๋ฐ์คํฌ๋ฆฝํธ ์๋ฌ์ธ cannot read property 'getBoundingClientRect' of undefined ๋ฅผ ํด๊ฒฐํด์ฃผ์ง ๋ชปํ๊ณ ์๋ฐ์คํฌ๋ฆฝํธ ์๋ฌ๋๋ฌธ์ componentDidCatch()๋ ํธ์ถ์ด ๋์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.๊ทธ๋์ ์ ๋ ๊ตฌ๊ธ๋งํ์ฌ ๋ค์๊ณผ ๊ฐ์ ์์ค์ฝ๋๋ก ์๋ฌ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.componentDidMount() { console.log('componentDidMount'); function getSafe(fn) { try { return fn(); } catch (e) { return undefined; } } console.log(getSafe(() => this.myDiv.getBoundingClientRect().height)); }try-catch๋ฌธ์ ์ฌ์ฉํ๋๋ฐ ๊ทธ๋ผ cannot read...๊ด๋ จ ์๋ฌ๋ ํด๊ฒฐ์ด ๋๊ณ , componentDidCatch๋ฉ์๋๋ ํธ์ถ์ด ๋์ด์ ํ๋ฉด์ '์ค๋ฅ ๋ฌ์ด์!'๋ฌธ๊ตฌ๋ ๋ํ๋๊ฒ ๋ฉ๋๋ค.
- 0
- 1
- 184