簡體   English   中英

在 Reactjs 中使用表情符號選擇器 package

[英]Using emoji-picker package in Reactjs

我正在嘗試為輸入框實現表情符號選擇器。 這是我第一次使用它,我在使用時遇到了問題。 我不能讓用戶輸入多個表情符號。 之前選擇的表情符號總是替換前一個。 有人可以幫我嗎? 現在我決定在沙箱中測試它,但如果我能夠將它拉出來,我將在項目中使用它。 這是代碼:

import React, { useState } from "react";
import Picker, { SKIN_TONE_MEDIUM_DARK } from "emoji-picker-react";

const App = () => {

  const [emoji, setEmoji] = useState([])

  const onEmojiClick = (event, emojiObject) => {
    setEmoji(emojiObject);
  };


  return (
    <div>
      <Picker onEmojiClick={onEmojiClick} skinTone={SKIN_TONE_MEDIUM_DARK} />

      <input
        type="text"
        id="input"
        onChange={e => setEmoji([...emoji, e.target.value])}
        value={emoji.emoji}
      />

    </div>
  );
};

export default App;

那是因為您正在覆蓋表情符號的 state。 也許您可以將它們存儲在一個數組中並執行以下操作:

setUseEmoji([...useEmoji, newEmoji])

然后 map 在你想顯示它們時覆蓋它們

useEmoji.map((emoji) => <div> {emoji} </div>)

從一開始就將其設置為數組

來自: const [emoji, setEmoji] = useState({})

to: const [emoji, setEmoji] = useState([])

然后像這樣設置它: setEmoji([...emoji, e.target.value])

然后像這樣迭代它:

emoji.map((emj) => <div> {emj} </div>)或者如果它是 object:

emoji.map((emj) => <div> {emj.propertyValue} </div>)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM