-
Notifications
You must be signed in to change notification settings - Fork 0
Hw emoji #11
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Для начала надо докоммитить что то, чего не хватает для сборки.
- dangerouslySetInnerHTML - для решения задачи ДЗ подойдет
- у меня все CSS свойства находятся в :local(.....) -- а это значит, что они видны только в пределах одного React-компонента - используй
import styles from 'component.css';
и далееclassName={styles.CLASSNAME}
. Вообще, если один и тот же класс у тебя используется вне компонента, то это неправильно. - если этот пункт обязателен в задании - пункт про contenteditable - это бонус. Достаточно при клике на смайл вставлять в поле ввода его "код"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
} | ||
|
||
.oh { | ||
background: url('../../../sprites/emoji.png') no-repeat -54px -126px; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В условии дз есть ссылка на sprite-loader
. Не понимаю, почему все это игнорируют. Вручную ничего прописывать не надо, надо добавить этот лоадер и собрать картинки из архива.
|
||
const Emoji = ({emojiName, onClick }) => { | ||
return <img | ||
contentEditable={false} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
не совсем понятно, зачем это для иконки :)
Очень жду спрайт лоадер и следующие дз! @alekseik1 |
Сделал форму из CSS-спрайта (действительно CSS спрайта: картинка одна, но нарезается внутри CSS через
width
иheight
). Хотел сделать вставку смайлика в форму, но это оказалось весьма нетривиально.Нужно переписать
<input>
на<div>
+ аккуратно передавать смайл при сообщении. Если с первым я смог справиться, то второе никак не получается: у меня все CSS свойства находятся в :local(.....) -- а это значит, что они видны только в пределах одного React-компонента (возможно, я тут не прав и они видны всюду. Пни меня, если это так). Вдобавок, даже если я смогу передать CSS-свойства каждого смайла, все равно не знаю, как сделать отрисовку React-компонента внутриdiv
. Нужно получить что-то вроде такого:<div class="input-form" contenteditable=1>Мое классное сообщение <a {сюда надо как-то прописать CSS-бэкграунд смайлика} /> </div>
. Вот этот<a ... />
надо передать внутрь, но решения в интернете говорят использоватьdangerouslySetInnerHTML
, что намекает на плохой код.TL; DR я не знаю, как сделать адекватно вставку смайла при клике, поэтому пока этот пункт не сделан.
@martinkomitsky, можешь дать наводку, если этот пункт обязателен в задании, пожалуйста?