์๋ ํ์ธ์ ! ์ธํผ์ 11๊ธฐ ์ด์งํ ๊ธฐ์์ ๋๋ค.
์ด๋ฒ ๊ธฐ์ฌ๋ React ํ๋ก๊ทธ๋จ์ Editor๋ฅผ ์ ์ฉํ๋ ๊ณผ์ ์ ๋ํด์ ๋ด์๋ณด๋ ค๊ณ ํฉ๋๋ค.
โ Editor๋ฅผ ์ ์ฌ์ฉํ๊ฒ ๋๋์ ?
์ ๋ง ๊ฐ์ฌํ๊ฒ๋, ์ด๋ฒ์ ์ ํ์ํ์์ SSAFY ์ฌํ์๋ค์ ๋์์ผ๋ก ์งํํ๋ ์ ํ ํด์ปคํค ์ฐธ์ฌ์๋ก ์ ์ ๋์ด ์ฐธ์ฌํ๊ฒ ๋์ต๋๋ค.
์ด๋ฒ ํด์ปคํค์์ ์ ํฌ ํ๋ก์ ํธ์ ์ฃผ์ ์ ๊ธ ์์ฑ ์์ ๋ค์ํ ๋ด์ฉ ์ฒ๋ฆฌ๊ฐ ํ์ํ๊ณ , ์ด๋ฅผ ์ด์ ๋ก React์์ ์์ง์ Editor๊ฐ ํ์ํ๋ค๊ณ ํ๋จํ์์ต๋๋ค.
๐โ๏ธ ์ด๋ค Editor๋ฅผ ์ฑํํ๊ณ , ๊ทธ ์ด์ ๊ฐ ๋ญ๊ฐ์ ?
์ฐ์ ์ ์ผ๋ก ๋ง์๋๋ฆฌ๋ฉด, ์ ๊ฐ ์ฑํํ Editor๋ React Quill์ ๋๋ค.
์๋ํฐ ์ ํ ์์ ์ ๊ฐ ๊ณ ๋ คํ ์ ๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. ๋ฉํฐ ์ด๋ฏธ์ง๋ฅผ ์ง์ํ ๊ฒ
2. react 18์ ์ง์ํ ๊ฒ
์ด ๋๊ฐ์ง๊ฐ ํ์์ ์ผ๋ก ์ง์๋๋ฉด์, PWA ์ฑ ํน์ฑ์ ๋ง๊ฒ ๋ฌด๊ฒ์ง ์์ ๊ฐ๋ฒผ์ด ์๋ํฐ๋ฅผ ์ฐพ๊ณ ์ ํ์์ต๋๋ค.
๐ Editor ์ ์ ๊ณผ์
๊ฐ์ฅ ์ฒ์ ๊ณ ๋ คํ ์๋ํฐ๋ CK Editor5์ ๋๋ค.
CK Editor5์ ๊ฒฝ์ฐ, ๊น๋ํ๊ณ ์ง๊ด์ ์ธ UI๋ฅผ ์ ๊ณตํ๊ณ ์ด๋ฏธ์ง ๋ฆฌ์ฌ์ด์ง์ด ๊ฐ๋ฅํ๋ค๋ ์ ์์ ๋ฐ์ด๋ UX๋ฅผ ์ ๊ณตํ ์ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์์ต๋๋ค. ์ด๋ฌํ ์ด์ ๋ก, CK Editor์ ์ ์ฉ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ์ค ๋ค์ค ์ด๋ฏธ์ง ์ฒ๋ฆฌ๋ ๊ณ ๊ธ ์ด๋ฏธ์ง ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ๋์ ํ ์์๋ ์์ฉ ๋ผ์ด์ ์ค๋ฅผ ๋์ ํด์ผ ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค.
๋ํ, ๋ชจ๋ฐ์ผ ์ฑ์ผ๋ก ๊ฐ๋จํ ์กฐ์๋ง ์ง์ํ๋ฉด ๋๋ ์ ํฌ ์๋น์ค์ ๋นํด CK Editor๋ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋งํผ, ๋ฌด๊ฒ๊ณ ๋ก๋ฉ ์๊ฐ์ด ๋ ๊ธธ์ด์ง ์ ์๋ค๋ ๋จ์ ์ญ์ CK Editor๋ฅผ ํฌ๊ธฐํ๊ฒ ๋๋ ์ด์ ์ค ํ๋์์ต๋๋ค.
๋๋ฒ์งธ๋ก ๊ณ ๋ คํ ๊ฒ์ Toast UI์ ๋๋ค.
Toast UI ์ญ์ ์ ์๋ ค์ง ์๋ํฐ๋ก, CK Editor์ ๋ฌ๋ฆฌ MIT ๋ผ์ด์ ์ค๋ฅผ ๋ฐ๋ฅด๊ธฐ ๋๋ฌธ์ ์ถํ ์์ ์ ์ฌ์ฉ์ ํ๊ฒ ๋๋๋ผ๋ ๋ฌธ์ ๊ฐ ์๋ค๋ ์ ์ด ๋ง์์ ๋ค์์ต๋๋ค.
ํ์ง๋ง, ์ค์ ๋ก Toast UI์ ๊ฒฝ์ฐ React 18 ๋ฒ์ ๊ณผ ์์ง ํธํ๋์ง ์๋ ๋ฌธ์ ๊ฐ ์์๊ณ ์ค์ ๋ก ํ๋ก์ ํธ์ ์ ์ฉํด๋ณธ ๊ฒฐ๊ณผ ๋ฒ์ ๋ฌธ์ ๋ก ์ธํ ์ถฉ๋์ด ๋ฐ์ํ์์ต๋๋ค.
@toast-ui/react-editor ๋ฒ์ 3.2.3์ react 17.x.x ๋ฒ์ ๊ณผ ํธํ๋๋๋ก ์ค์ ๋์ด ์์ง๋ง, ํ๋ก์ ํธ์์ react 18.x.x๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ถฉ๋์ด ๋ฐ์
'--legacy-peer-deps' ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ฉด npm์ด ๋์๋ ์ด์ ์ ์์กด์ฑ ํธ๋ฆฌ๋ฅผ ๋ฌด์ํ๊ณ ์ค์น๋ฅผ ์๋ํ๋ค๋ ์ผ์์ ์ธ ํด๊ฒฐ ๋ฐฉ์์ด ์์์ง๋ง, ์ด ๋ฐฉ๋ฒ์ผ๋ก ์ถฉ๋์ด ๋ฐ์ํ๋ ํจํค์ง๋ฅผ ๋ฌด์ํ๊ณ ์ค์น๋ฅผ ์งํํ ๊ฒฝ์ฐ, ์ถํ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ ๋ฐฐ์ ํ ์ ์์ต๋๋ค.
์ด๋ฌํ ์๋ ๋์, ์ ํฌ๋ React-Quill ์๋ํฐ๋ฅผ ์ฑํํ๊ฒ ๋์์ต๋๋ค.
ํ์ง๋ง react-quill ์ ์ฉ ์ญ์ ์ฝ์ง๋ง์ ์์๋๋ฐ์, ์๋ํฐ๋ฅผ ์ ์ฉ์ํค์ ์๋์ ๊ฐ์ ๊ฒฝ๊ณ ๋ฉ์ธ์ง๋ฅผ ๋ง์ฃผ์น๊ฒ ๋๊ฒ๋๋ค.
Warning: findDOMNode is deprecated and will be removed in the next major release. Instead, add a ref directly to the element you want to reference. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-find-node
์ด๋ฌํ ์๋ฌ๋ฉ์ธ์ง์ ๋ํด ์์๋ณด์๋๋, ์๋ฌ๊ฐ ๋ฐ์ํ๋ ์์ธ์ ์๋์ ๊ฐ์ด ์ ๋ฆฌํ ์ ์์์ต๋๋ค.
findDOMNode : React์์ DOM ์์์ ์ง์ ์ ๊ทผํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๋ฉ์๋
- React 16.3 ์ดํ๋ก, ์ด ๋ฉ์๋๋ ์ ์ฐจ ํ๊ธฐ๋ ์์ ์ด๋ฉฐ, ๊ทธ ๋์ ref๋ฅผ ์ฌ์ฉํ์ฌ ์์์ ์ ๊ทผํ๋ ๋ฐฉ์์ด ๊ถ์ฅ
๊ทธ๋ฌ๋ React Quill ์์ฒด๋ ์ฌ์ฉ์๊ฐ ์ง์ ์์ ํ ์ ์๋ ์๋ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๊ธฐ ๋๋ฌธ์,
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด React Quill์ ์ ์คํธ๋ฆผ ์ ๋ฐ์ดํธ๋ฅผ ๊ธฐ๋ค๋ ค์ผ ํจ
๐ฅ๐ฅ๐ฅ...
ํ์ง๋ง, ํฌ๊ธฐํ ์ ์๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ฐพ์๋ณด๋ ์ค ์๋์ ๊ฐ์ ์ฃผ์๋ฅผ ์ฐพ์๊ณ , ํด๋น ํ์ด์ง์์ ๋ง์ง๋ง ์ ์ ๋ถ๊ป์ ์๋ ค์ฃผ์ ๋๋ก, react-quill-new๋ฅผ ์ ์ฉํด๋ณด์๋๋ ์ํ๋ ์๋ํฐ๊ฐ ์ ์์ฑ๋ ๊ฒ์ ๋ณผ ์ ์์์ต๋๋ค !!
https://github.com/zenoamaro/react-quill/issues/972
React 19 will remove findDOMNode · Issue #972 · zenoamaro/react-quill
React 19 will be officially released in June/July 2024 and it removes the deprecated ReactDOM.findDOMNode utility. It appears that this will prevent react-quill users from upgrading to React 19. I ...
github.com
์ข์ ๊ธฐํ๋ฅผ ์ป์ ๋งํผ ์ต์ ์ ๋คํด์ ์ข์ ๊ฒฐ๊ณผ ์ป์ด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค :)
์ค๋ ๊ธฐ์ฌ๋ ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค ๐ค๐ค
'๐ ssafy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SSAFYcial] SSAFY 13๊ธฐ ์ง์์ ๋ง์ค์ด๋ ๋ถ๋ค์ ์ํ 1๋ ํ๊ณ (0) | 2024.10.30 |
---|---|
[SSAFYcial] ์ ํ ํด์ปคํค ํ๊ธฐ (1) | 2024.09.03 |
[SSAFYcial] Vue์ React๋ ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฐ์ ? (0) | 2024.07.31 |
[SSAFYcial] ์๋ฐ ๋น์ ๊ณต์์ ๋ฆฌ์กํธ๋ฅผ ์ฐพ์ ๋ ๋๋ ์ฌ์ (0) | 2024.07.31 |
[SSAFYcial] ์ธํผ์์ Job fair๋๋ ๋ญํด์ ? (0) | 2024.06.23 |