Arthur
Нода топ оказывается)
Для мелких проектов мб, в больших лучше юзать java
{ NeFFeX }
на ноде большие проеткы тоже апают
Артем
Для мелких проектов мб, в больших лучше юзать java
Может когда нибудь до росту и до java
Alexander
При использовании PureComponent и connect render выводится несколько раз. Это норм?
Сергей
Да...2-3 раза это нормально...
Alexander
2 раза норм, а вот третий раз это не норм. Первый раз пустое значение, второй раз - получение данных с сервака, а вот третий раз дубликат второго раза. Не гуд же
Сергей
Данные с сервака асинхронно приходят и после запроса страница может ещё раз перерендерится а потом когда данные дойдут ещё раз...
Alexander
т.е не загоняться по этому поводу?
Сергей
Я загоняюсь если больше 3-х...
Сергей
Можеш продебажить и посмотреть подробно что меняется..проконсолить пропсы в рендере и пр...
Volodia
я так понимаю только с подпиской будет открыта апи для изменения картинки?
Нет, картинку можна менять без проплаты апи, все работает, если купить подписку, сможешь в настройках урл добавить как было показано и больше запросов делать, вот и все
Volodia
https://docs.google.com/document/d/1ZSXmTzkgq_Kj1VbWuq8fTv_DPD95GFDvPZgqFeIYGoM/edit#
Volodia
Тут полная апишка
Volodia
И там есть фото и по нему можно сделать и работает
Pasha
я сделал, сравнил потом код но ничего не происходит)
Pasha
ни ошибок, ни каких-либо действий
Volodia
Ну после замени фотки перезагрузи профиль
Volodia
Если у тебя не в componentdidupdate обновления нету
Aleksandr
Парни, помогите) у меня классовый компонент профиля и если я захожу на чужой профиль, userId берется с адресной строки, если на свой, то зависает на прелоадере из за запроса к серверу, если захардкодить свой айди, то все ок, как сделать чтобы когда айди приходит с сервера, компонент перерисовался?
Pasha
Если у тебя не в componentdidupdate обновления нету
пхаахха, короче из-за моего неправильного вызова метода "изменения фото" ничего не происходило, пофиксил и работает, спасибо)
Volodia
Не за что)
Aleksandr
Храни ид в стейте, и пришедший с сервера ид записывай в Стейт, пропсы изменятся, компонента перерисуется
так и делаю, но зависает при первой загрузке, если загрузить на странице диалогов например и перейти на свою, то все ок
Юрий
Где то конфликт, само себя перезаписывать начинает. Проверок где то добавить надо
Anonymous
что читать чтобы прокачать свой js ?
Aleksandr
Юрий
А где оно меняет ид пришедшее с сервера?
Юрий
Присваивается один раз и больше не меняется
Юрий
И зачем в Стейт пишешь ид, если он нигде не используется из стейта?
Aleksandr
или с адресной строки, если пусто то мой айди, если он не пришел с сервера, то хардкод)
Юрий
Но ниже компонента использует ид с пропса, а не то что ты в Стейт записал
Юрий
Ну да. Просто записанный в Стейт ид впринцыпе нигде не используется
Aleksandr
сделал так, теперь прямая загрузка по ссылке зависает на прелоадере, если переходить с других страниц - работает
Aleksandr
я так понимаю при первой загрузке пока выполняется запрос к апи, компонента получает пустой айди по этому все виснет
Юрий
А когда получает ид, его в стейте ничего не меняет
Aleksandr
если загрузить другую страницу, auth/me успевает загрузиться и записаться в стейт, после этого все работает
Юрий
У тебя Стейт формируется сразу и больше ничего не меняет его
Aleksandr
Юрий
Тебе надо в компонентапдейт сделать логику, что если если пришел ид не такой как был раньше, то записать новый ид
Aleksandr
вчера пытался так сделать, не работало, сейчас попробую еще раз
Юрий
If patams.id !== This.state.userid setState....
Юрий
Что то такое
Aleksandr
у меня сейчас такие мысли, если в глобальном стейте в auth запишется мой userid, как обновить компоненту?
Aleksandr
начал писать логику в componentDidUpdate и понял что айдишник может быть как моим так и чужим, хз как правильно условие написать
Юрий
Без разницы глобальный Стейт или свой. Если глобальный, то сделай как было, что б из пропса брал, но тогда нужен механизм изменения глобального стейта
Volodia
что читать чтобы прокачать свой js ?
Ну js тема не маленькая, и учить его можно всегда, стараться учить то что тебе не получаеться или чего не понимаеш, то что тебе нужно для работы, бо многое что учиш никогда не используеш, просто по ситуации, но базу нужно знать, и знать где можно посмотреть, как загуглить. learn.js хорошый сайт, но много инфы, базу какую то можна взять там, но конечно же все не выучиш и не запомниш, а дальше походу, это моя думка, не знаю как остальние учат, мне кажеться такой подход хороший очень
Aleksandr
Без разницы глобальный Стейт или свой. Если глобальный, то сделай как было, что б из пропса брал, но тогда нужен механизм изменения глобального стейта
а может быть такое что компонента монтируется 1 раз в тот момент пока айди с сервера не пришел и потом эта логика уже нее выполняется?
Юрий
Дидмаунт так и работает, выполняется 1 раз сразу после отрисовки
Aleksandr
продублировал в дидАпдейт, все заработало, но это же не совсем правильно так делать?
Юрий
Правильно, тока добавь условий проверки что б лишний раз не перезаписовало в цикле
Volodia
Aleksandr
Понял, спасибо вам)
Aleksandr
Вынес, а как сделать условие чтобы эта функция выполнилась 1 раз когда пришел айди? Сделал условие в функции: если айди тру, тогда выполнить, но получается что при любом изменении в компоненте(например когда печатаю новый статус), будут улетать запросы на сервак
Aleksandr
решил так
Alex
кто сталкивался с такой штукой Access to XMLHttpRequest at 'http://social-network.samuraijs.com/api/1.0/users?page=1&count=1' from origin 'http://localhost:5012' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
Alex
разные домены
Alex
не дает данные получить
Sergei
Спасибо за книгу, судя по оглавлению отличная
Volodia
Да, книга хорошая, немного большая, но инфа полезная
Volodia
У тебя не доступа с этого домена слать запросы на другой
Volodia
Api key можно в настройках взять
Volodia
Акк
Alex
он есть
Alex
на линуксе все работало
Сергей
И в личном кабинете социалки укажи домен с которого запросы будут идти..
Alex
тут чето другое
Alex
о скорее сего
Alex
только у меня домен генериться каждый раз новый
Volodia
И в личном кабинете социалки укажи домен с которого запросы будут идти..
Если у тебя localhost 3000, то можна без проплаты апи, а если другой тогда нужно указать
Alex
щас попробую
SV
Ну хз, если ты так хорош в реакте, что учить уже нечего. Киев всегда рад ) На доу свыше 500 вакансий, возьмут и без опыта, и без Бека, и без бд )
да ссать в Киеве хотели на реакт разраба без опыта. Если тебя взяли то сходи свечку поставь ибо избран ты, вот прям вот так