2016-05-30 1 views
0

Я работаю над добавлением поддержки emoji в приложение, основанное на JSX React.JSX emoji to string

У меня есть 2 возможных варианта для этого:

Либо использовать # 1

const stringFromUTF16 = (charCodes) => { return "\uD83D\uDC6E" }; 
    const EMOJI_UTF16 = { 
    "police_officer": [0xD83D, 0xDC6E] 
    } 
    const EMOJI = _.mapValues(EMOJI_UTF16, stringFromUTF16); 

или # 2

const EMOJI = { 
    "police_officer": "\uD83D\uDC6E" 
    } 

В обоих случаях EMOJI.police_officer =

Поисковые полотнами, все рекомендуют # 1, но вариант №2 выглядит намного проще.

Есть ли недостатки в # 2?

ответ

0

Хмм, первый пример действительно ничего не делает, кроме возврата {police_officer : "\uD83D\uDC6E"} (посмотрите на свою функцию stringFromUTF16), поэтому в вашем случае они похожи.

JSX-переводчик правильно понимает коды Юникода или даже символы Юникода (https://facebook.github.io/react/docs/jsx-gotchas.html), поэтому вы не используете какие-либо функции преобразования или трюки.

И если вы используете переводчик ES6, вам также абсолютно ничего не нужно, как lodash или подчеркивание.