Skip to main content
Version: Next 🚧

Migrate from rn-emoji-keyboard

EmojiPickerSheet takes visible and onClose like the other sheets, and onSelect gets the emoji string first. Search and recently used are on by default. Skin tones are built in, and the category bar sits where the platform's own emoji keyboard has it. For a picker inside your own layout, use EmojiPicker.

- import EmojiPicker from 'rn-emoji-keyboard';
+ import { EmojiPickerSheet } from '@elik56a/react-native-pickers';

- <EmojiPicker open={open} onClose={() => setOpen(false)} onEmojiSelected={(e) => setEmoji(e.emoji)} />
+ <EmojiPickerSheet visible={open} onClose={() => setOpen(false)} onSelect={setEmoji} />
rn-emoji-keyboardReact Native Pickers
openvisible
onClose / onRequestCloseonClose
onEmojiSelected({ emoji, name, … })onSelect(emoji, data); data has name, keywords, category, version, skins
allowMultipleSelectionscloseOnSelect={false}
enableSearchBarsearchable (on by default)
enableRecentlyUsedshowRecent (on by default); recent / onRecentChange to keep them
categoryPosition="top" | "bottom"categoryBarPosition="top" | "bottom"
disabledCategoriescategories lists the ones to show
categoryOrderthe order of categories
emojiSizeemojiSize
defaultHeightsheetProps={{ height }}
translationcategoryLabels, searchPlaceholder, emptyText
theme / stylestheme tokens and styles slots
selectedEmojisno equivalent
—maxEmojiVersion to hide emoji older phones can't draw, exclude

See EmojiPicker for skin tones, recents and the field.

See all migration guides for other libraries, and Comparison for when another library is the better choice.