ํ์ฌ ๋ค๋น๊ฒ์ด์
๊ณผ ํ์์ <Tweet /> ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ํธ์์ ์์ฑํ ์ ์๋ค.
const fileInput = useRef();
<input
name="file"
type="file"
accept="image/*"
onChange={onFileChange}
ref={fileInput}
id="files"
className="hidden"
/>
<lable className="icon" htmlFor="files">
<FontAwesomeIcon icon={faImage} size="2x" />
</lable>
๊ทธ๋ฐ๋ฐ ํ์์ ์ด๋ฏธ์ง ํ์ผ์ ์
๋ก๋ ํ๋ฉด ํ๋ฉด์ ๋จ์ง ์์ ์ด์ํ๊ฒ ์ฌ๊ธฐ๋ ์ค ๋ค๋น๊ฒ์ด์
์์ ํธ์ ์์ฑ ํ๋ ๋ชจ๋ฌ์ ์ฌ๋ ๊ฑฐ๊ธฐ์ ์
๋ก๋ํ ์ด๋ฏธ์ง๊ฐ ๋ ์์๋ค.
์ด๋ผ...์ด๊ฑฐ ๋ญ๊ฐ ์ด์ํ๋ค. ์ ๋ค๋ฅธ DOM์ ํ์ผ์ด ์ฐ๊ฒฐ๋์ด ๋ฒ๋ฆฌ๋๊ฑธ๊น?
const fileInput = useRef();
//ํ์ผ ์
๋ก๋์ ๊ฐ DOM ์์ญ์ ์ด๋ฏธ์ง ๋์ฐ๊ธฐ
const clickFileUploader = () => {
fileInput.current.click();
};
<input
name="file"
type="file"
accept="image/*"
onChange={onFileChange}
ref={fileInput}
id="files"
className="hidden"
/>
<div className="icon" htmlFor="files" onClick={clickFileUploader}>
<FontAwesomeIcon icon={faImage} size="2x" />
</div>
๋ฌธ์ ํด๊ฒฐ! ๋๋์ด...๐ฅ
๐ ์ฐธ๊ณ