ํ”„๋กœ์ ํŠธ

[emoji-picker-react ๐Ÿ™‚] ์ด๋ชจํ‹ฐ์ฝ˜ ์ž…๋ ฅ์ฐฝ์œผ๋กœ input ๋ฐ›๋Š”๋ฐฉ๋ฒ•

Yuuuki 2024. 4. 25. 19:09

 

์ฑ„ํŒ… ์ž…๋ ฅ์ฐฝ์— ์ด๋ชจ์ง€ ์•„์ด์ฝ˜์„ ๋ˆ„๋ฅด๋ฉด, ์ด๋ชจํ‹ฐ์ฝ˜ ํ‚ค๋ณด๋“œ๊ฐ€ ๋‚˜์™€ ์ด๋ชจ์ง€๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์—ˆ๋‹ค.

 

 

emoji-picker-react 

const [showPicker, setShowPicker] = useState(false);
  const [message, setMessage] = useState("");


const onEmojiClick = (event, emojiObject) => {
    setMessage((prevMessage) => prevMessage + emojiObject.emoji);
    setShowPicker(false);
  };
  
  
  
  return (
  <div className="absolute bottom-4 w-11/12 left-4 ">
          <input
            className=" bg-bg-lightgray w-full px-4 py-3 outline-none rounded-xl  hover:bg-hover-lightgray transition text-gray-400"
            placeholder="๋ฉ”์‹œ์ง€๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”."
            value={message}
            onChange={(e) => setMessage(e.target.value)}
          ></input>
          <div className="absolute top-4 right-4 flex items-center gap-x-3">
            <FaRegSmile
              onClick={() => setShowPicker((prev) => !prev)}
              className=" text-custom-gray cursor-pointer text-lg hover:text-gray-600 "
            />
            <FileInput />
          </div>
          {showPicker && (
            <EmojiPicker onEmojiClick={onEmojiClick}></EmojiPicker>
          )}
        </div>
}

 

๐Ÿ“Ž ์ฐธ๊ณ 

https://codesandbox.io/p/sandbox/emoji-picker-react-js-xpqy1?file=%2Fsrc%2FApp.js%3A11%2C26

 

https://codesandbox.io/p/sandbox/emoji-picker-react-js-xpqy1?file=%2Fsrc%2FApp.js%3A11%2C26

 

codesandbox.io

 

 

์ด๋ชจ์ง€ ํ”ผ์ปค๋Š” ์ž˜ ๋‚˜์˜ค์ง€๋งŒ ์ด๋ชจ์ง€๊ฐ€ undefined๋กœ ์ถœ๋ ฅ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๐Ÿ˜‚

 

 

์ฝ˜์†”์„ ํ™•์ธํ•ด๋ณด๋‹ˆ emoji๊ฐ’์ด ๋‘๋ฒˆ์งธ ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ event ๊ฐ์ฒด์— ๋“ค์–ด๊ฐ€์žˆ์—ˆ๋‹ค.

๋ฒ„์ „์„ ๋‚ฎ์ถ”๋ฉด ํ•ด๊ฒฐ์ด ๋œ๋‹ค๋Š”๊ฑธ ๋ณด๋‹ˆ ๋ฒ„์ „์ด ๋ฐ”๋€Œ๋ฉด์„œ ๋ณ€๊ฒฝ๋˜์—ˆ๋‚˜๋ณด๋‹ค...

 

  const onEmojiClick = (event, emojiObject) => {
    setMessage((prevMessage) => prevMessage + event.emoji);
    setShowPicker(false);
  };

์™„์„ฑ!

 

 

npm ๊ณต์‹๋ฌธ์„œ๋Š” ๋ถˆํŽธํ•ด์„œ ์ž˜ ์•ˆ๋ณด๊ฒŒ๋˜๋˜๋ฐ

 

์˜ค๋Š˜์˜ ๊ตํ›ˆ โœ๏ธ 

๊ณต์‹๋ฌธ์„œ๋ฅผ ์ž˜ ํ™•์ธํ•˜์ž...

 

 

https://www.npmjs.com/package/emoji-picker-react?activeTab=readme

 

emoji-picker-react

Emoji Picker component for React Applications on the web. Latest version: 4.9.2, last published: a month ago. Start using emoji-picker-react in your project by running `npm i emoji-picker-react`. There are 186 other projects in the npm registry using emoji

www.npmjs.com

https://stackoverflow.com/questions/74044939/getting-undefined-emoji-in-emoji-picker-react4-3-0