Виталий
вот и вступил в переписку
🦜
coffeescript - это надстройка над языком, как и typescript
кофи да, а типоскрипт это другой язык, который билдится в жс
Evghenii
они оба транспилятся в js
Evghenii
ts - это не другой язык
tdesc
На darte тоже можно )
Rodion
там пиздец легаси проект, не стоит твоих нервов
да мне сказаи старый большой проект котроый полностю на реакт переписывают сказали будет нужно кучу тестов писать
Rodion
ясно, хуета
то есть ты бы не советовал?
🦜
то есть ты бы не советовал?
да, ибо я сталкивался и это пиздец. Лучше ванильный жс
Виталий
Александр
Почему здесь используется typeof, а не просто String? При объявлении интерфейсов для action creators (React + TypeScript)
это для того чтобы везде юзать константу по имени DELETE_MESSAGE, и не привязываться к ее значению, которое может в теории поменяться
Александр
а так да, это тоже самое что и type = 'DELETE_MESSAGE'
Evghenii
константа поменяться не может
Evghenii
интерфейс - это описание объекта в данном случае автор хотел сказать, что значение поля type у этого экшена должно ровняться той константе
Александр
константа поменяться не может
ее значение может, переимуете вот
Виталий
вобщем судя по всему запись неверная и надо писать type: ‘SOME_CONSTANT_NAME’
Виталий
нет
обоснуй
Александр
да уже говорил выше
Виталий
что говорил?
Александр
вобщем судя по всему запись неверная и надо писать type: ‘SOME_CONSTANT_NAME’
в этом случае надо везде писать 'SOME_CONSTANT_NAME', и если ее значени захочется поменять то надо во всех местах будет изменять
Александр
а если ссылаетесь по имени константы то не надо
Александр
в одном случае вы делаете import SOME_CONSTANT_NAME from '..', в другом используете строковой литерал. В персом случае вы можете изменить в одном месте значение этой константы и все будет рабоать
Виталий
а… сорри. Верно.
Виталий
Да, тогда верная запись
Юрий
а как через Router.router.query проверить если ли параметр page или нет?
Александр
в случае же если вы юзаете строковые литералы, то надо будет везде переименовать, ну скажем захотелось вам (не спрашивайте зачем толькло) поменять значения констатнт с 'POST_REQUEST_SUCCESS' на '@post/request/success', в случае с typeof и использованием имени константы, вы только в одном месте измените
Александр
а как через Router.router.query проверить если ли параметр page или нет?
надо их распарсить сначала, например qs библиоткеой или используя DOM интерфейс URLSearchParams
Юрий
Так же как я тебе написал
то есть не важно, роутер это или нет?
Cenator 🐈
то есть не важно, роутер это или нет?
URLSearchParams принимает строку
Cenator 🐈
Строка из роутера не отличается от строки из window.location
Юрий
Строка из роутера не отличается от строки из window.location
то есть данная строка и проверяет есть ли page в урле или нет и возвращает boolean значение? const urlParams = new URLSearchParams(window.location.search).get("page");
Anton
Подскажите. Как можно сделать emoji picker ? Как передавать в него emoji ? Как svg картинки или как что ? Не совсем догоняю как реализовать
Anton
этож символы, какие картинки?)
Ну на твиче например там какие то кастомные эмоджи
Anton
если я не хочу стандартные
Anonymous
это их обработка видимо
Anton
а далее в сам html как вставлять их ?
Anton
то есть я передаю текст, но если я к нему прибавлю код эмоджи, у меня же будет этот код а не сама эмоджи, или оно изменится ?
Anonymous
это просто аски символ, если поверх него накатан шрифт то он будет отображать содержимое шрифта
Anonymous
Anton
Ок понял, ща попробую
Eugene
Есть разные пикеры с различными стилями эмоджими, но они и весят дофига, и придется помучиться с рендером их. Лучше уж дефолтные 🤔
Victor
а далее в сам html как вставлять их ?
https://jsbin.com/qekafoxiho/edit?html,css,js,output
Cenator 🐈
Описание чата
Anton
https://jsbin.com/qekafoxiho/edit?html,css,js,output
А как я могу получить допустим все emoji которые есть в моем шрифте подключенном ?
Victor
посмотри в интернете коды еможи символов
Anton
посмотри в интернете коды еможи символов
Я что то сломался) U+1F600 вот допустим код emoji. Как мне теперь ее перевести в саму эмоджи ?
MⅨ
Эксперты в реакте можете обьяснить что это за магия? const Projects = graphql(getProjects)(ProjectList)
Александр
обычный js
Александр
где вы магию увидели?
Дима
магия вне Хогвартса запрещена
Дима
это хок для реакт-компонентов
MⅨ
Аммм. Ну хорошо справа на лево как заведено интерпретатором. класс в скобках, потом graphql функция, скорее всего конструктор в котором вложен gql`` обьект. И это все ассайниться в обьект Projects как уже компонент для jsx
Anton
Вопрос, мне нужно чтобы в футере была версия приложения из package.json и из git commit. Как взять версию из гит коммита, я не понимаю, кто-то с таким сталкивался?
Александр
я вижу тут два вызова функции просто
для человека не знакомого с jsx и graphql это должно быть вроде как понятно
Александр
?
Александр
Прости что?
const query = graphql(getProjects); const Project = query(ProjectList);
Eugene
🤔забыл как это называется каррирование?
Александр
query тут - это как сказали выше - HOC, это не магия (она запрещена как заметили опять же), это просто функция которая принимает на входе компонент реакта и возвращает другой компонент
MⅨ
Просто я с С бэкграунда, мне бы по старинке
Александр
А как такое называется?
вызовы функций просто...не знаю как это еще назвать
Александр
никкой разницы
Cenator 🐈
Просто я с С бэкграунда, мне бы по старинке
В С нельзя вернуть функцию из функции?