Maksym vom Internet
Привет товарищи. Кто знает откуда тут в примере https://codepen.io/gaearon/pen/qmqeQx this.el взялся? И ещё вопрос, зачем forwardRef.displayName?
xeleos
Не зная всей хурмы можно не тот велосипед сделать
xeleos
Я бы с удовольствием избавился от типа undefined в обьявлении стейта, но не знаю как, это бы избавило от лишней проверки типа
xeleos
Хотя, вероятно тип можно не проверять вообще, если до промиса показывать загрузку.
xeleos
Это я попробовал на TS создать vk mini app. просто вывожу имя юзера. Впервые на TS пишу.
Виктор
vk mini app если шо это cra + пара либ
xeleos
Они меня тоже своим названием запугали и раньше думал, что на TS сложно будет начать, но это обычный проект на реакте с несколькими либами.
xeleos
Посмотри примеры в сети
Всм, что именно не так написал?
xeleos
Так я не найду косяк, лол.
Anonymous
Лол лол, а они есть
xeleos
Большинство примеров просто на хуках, а я на них не пишу, потому что классом мне проще. Визуально понятнее.
xeleos
(Точнее вообще на них не писал, на реакте месяц)
Alex
renderUser ваще нужно в отдельный компонент вынести
xeleos
Представляю насколько папок и файлов прибавится, если я буду каждую мелочь в файлы кидать
Anonymous
renderUser ваще нужно в отдельный компонент вынести
Ничего тут не нужно никуда выносить и хуки тут тоже не нужны
Anonymous
Один нуб другому нубу чушь советует, лол
xeleos
Я итак бывает по 5 минут ищу нужный файл в первом проекте, ибо там уже их под двести и куча папок, открывать задолбаешься каждую папочку.
Denis
Один нуб другому нубу чушь советует, лол
да это дефолт для этого чатика
Alex
Да, нужно вхреначить все в один классовый компонент, чтобы было по 20 методов, каждый из которых рендерит по кусочку jsx
xeleos
Да не в этом смысл, это просто тестовый компонент, чтобы ознакомиться с TS
Alex
Один нуб другому нубу чушь советует, лол
Может аргументируешь как то свое мнение, господин синьер?
Denis
Да, нужно вхреначить все в один классовый компонент, чтобы было по 20 методов, каждый из которых рендерит по кусочку jsx
и в чем проблема? человек тестит vk api. что глобально изменится, если он что то куда то вынесет?
Alex
В том что тебе реакт дает способ использовать удобный декларативный стиль и разделять части приложения в независимве реюзабельные кусочки
Alex
Ребятки, вы троллируете чтоль?
Anonymous
Ребятки, вы троллируете чтоль?
Нет, чувак ты прав иди пиши как тебе нравиться
xeleos
Разделяй и властвуй, но не перепьянствуй)
Anonymous
Ребятки, вы троллируете чтоль?
Разделяй и властвуй это когда ты ради рендера дива компонент мутишь, да уж ты походу методичку плохо читал
Alex
Нечасто канеш тут общаюсь, но таких токсичных господ тут вижу впервые
xeleos
Вы бы видели чат вк мини апс, там одни помешанные на js) зайдет речь о чем-то кроме него - сразу токсики вылезают
Alex
Разделяй и властвуй это когда ты ради рендера дива компонент мутишь, да уж ты походу методичку плохо читал
Дело не в том, что тебе нужно отрендерить див, тебе нужно отрендерить информацию о юзере, а то что в результате рендерится один только див, это результат внутренней имплементации компонента
Anonymous
Нечасто канеш тут общаюсь, но таких токсичных господ тут вижу впервые
Шли бы вот вы такте из фронта, из за вас думаю что в фронтеде все дебилы
Denis
Нечасто канеш тут общаюсь, но таких токсичных господ тут вижу впервые
это ты токсичный. человек скинул пример того, как он пробует vk api, и похуй какая там архитекрутра и что куда выносить. хоть в 1 файле и в 1 компоненте это можно сделать. тут вообще не идет речь о какой то арзитектуре. но ты зачем то вписался со своими ахуенными советами про отдельные компоненты, хотя тут речь вообще не об этом. но выебнуться же надо
Alex
Ого
Alex
Неплохо забурлило. Как будто я снова на двачах
Anonymous
Неплохо забурлило. Как будто я снова на двачах
Не знаю где ты там, но глупости ты пишешь астрономические...
xeleos
Вообще вопрос относился к правильной проверке типа UserInfo (см. на скрине), ибо с JS на TS прыгнул только час назад, и когда только начинал городил такой огород.. тот скрин выше это уже третья версия так-то.
xeleos
Поподробнее лучше скажи, понимаешь же, что я не нагуглю то, о чем не догадываюсь?
Anonymous
Дай код текстом
Alex
Тогда не нужно будет as UserInfo
xeleos
https://gist.github.com/xeleoss/7a78e5621d7fb14f1868942279b9b36a
Anonymous
Тебе нужно result деструктурировать, чтобы тайп гард сработал
Хватит хрень писать, ничего этого не нужно
Alex
Мне правда не интересно твое мнение.
Anonymous
Может ты уже помолчишь?
Ничего я не буду молчать когда один нуб хрень несёт, мало того что сам не хера не понял, да ещё и другому нубу глупости пишешь
xeleos
ну он вообще-то работает, ибо в state изначально undefined, ошибки я тут не проверяю
Alex
зачем там тогда as UserInfo?
xeleos
зачем там тогда as UserInfo?
Ну там не срабатывают подсказки, аа, мб ты об этом?
Daniil
Утром уже трое отлетели, пожалуйста, чуть спокойней, хоть и выходной
xeleos
Так? TS вроде перестал ругаться.
xeleos
Убрал тут is.
Anonymous
Убрал тут is.
https://jsfiddle.net/spatnehochu/jxwa0bor/1/
Maksym vom Internet
Из ref же
Т.е. ref={el => this.el = el} тоже самое если бы просто в конструкторе объявили React.createRef(); ?
Alex
вот, посмотри в фидле
xeleos
https://jsfiddle.net/spatnehochu/jxwa0bor/1/
Спасибо, сейчас изучу.
Anonymous
Спасибо, сейчас изучу.
Единственное место где оправдан каст это connect.sendPromise("VKWebAppGetUserInfo").result as UserInfo
xeleos
Кст, все жизненные циклы могут быть ассинхронными?
Anonymous
Кст, все жизненные циклы могут быть ассинхронными?
вообще то это сахар над промисами, что как бы намекает что да, здесь реакту вообщем то пофиг промис ты отдашь или нет, он его ждать в этим методах не будет
Alex
Это учебный пример же. лучше сразу научиться делать правильно