• Как передавать данные в функциональные компоненты?

    @t800zippygod
    Так если все в провайдер обёрнуто, может использовать useContext? Или я чего-то недопонимаю
    Ответ написан
    Комментировать
  • Как настроить Node.js на Heroku?

    @t800zippygod
    Если немного шаришь в басурманском, посмотри видос https://youtu.be/ok6bu-3XRA8. Он как раз про деплой приложения на graphql и Apollo на Хероку.
    А так, чекни, мб ты в конфигурации клиента Аполло указал полный путь с локал хостом (типа localhost:5000/graphql), а надо просто ”/graphql”.
    Но волосик все равно глянь
    Ответ написан
    Комментировать
  • Как исправить "TypeError: Cannot read property 'getItemResponses' of undefined (строка 7, файл Код) "?

    @t800zippygod
    Все же прозрачно, в 7 строке в latestResponse у вас лежит undefined. А ещё строкой выше вы кладёте в эту переменную значение последнего эл-та из массива
    Вариант — смотрите, что приходит в массив allResponses (ничего, он пустой скорее всего)
    Ну и тик далее раскручивайте. Ошибка либо в библиотеке, которую юзаете, либо в том как юзаете, либо в запросе к серверу
    Ответ написан
    Комментировать
  • Дали мне тестовое задание, я решил его, но почему то оно неправильно?

    @t800zippygod
    По-моему тут вполне себе понятный алгоритм.
    1) Одну строку в другую вы никогда не превратите, если в исходном слове у вас есть взаимозависимые буквы (то есть одинаковые), но которые во втором слове разные.
    Как не меняйте их в исходном слове, они все равно останутся одинаковыми.
    2) Если длина слов разная.

    Вот на этой основе и накидайте алгоритм
    Ответ написан
    2 комментария
  • Почему неправильно отрабатывает событие 'resize'?

    @t800zippygod
    document.addEventListener('DOMContentLoaded', () => {
    
      function setBlocksHeight() {
        const blocksArr = [...document.querySelectorAll('.block')]
    
        blocksArr.forEach(block => {
          block.style.height = 'auto'
        });
    
        const currentBlocksHeights = blocksArr.map(block => block.offsetHeight)
        const sortedBlocksHeights = currentBlocksHeights.sort((h2, h1) => h1 - h2)
        
        const maxHeight = sortedBlocksHeights[0]
        blocksArr.forEach(block => {
          block.style.height = maxHeight + 'px'
        });
      }
    
      setBlocksHeight()
      window.addEventListener('resize', () => {
        setBlocksHeight()
      })
    
    })


    Чел, не стал разбираться досколнально в твоем коде. Но на коленке накидал такую реализацию, у меня работает. Посмотри на алгоритм, мб где-то какая-то ошибка.
    Ответ написан
  • Как лучше реализовать такую структуру?

    @t800zippygod
    Добрый день, тут удобнее всего будет использовать гриды. Погули, минут за 20 разберёшься что к чему
    Ответ написан
    Комментировать
  • Что не так с прототипным наследованием в js? Чем оно отличается от классического?

    @t800zippygod
    Именно из-за того, что свойство можно "пощупать", многие и не любят js.
    Как все происходит при классическом наследовании: класс-родитель "рассказывает" своим детям как надо жить на этой планете и пускает инстансы(потомков) в свободное плавание. Он говорит детям: вот ребят, берите мои знания (свойства), мои умения (методы) и уходите, можете развивать мой опыт, добавлять новую функциональность. При этом дети САМОСТОЯТЕЛЬНЫ, они не зависят от маменьки.
    В JS дети более капризные, и с ними больше проблем. Они говорят матери: так-так, зачем мне самому чему-то учиться, ведь я всегда могу придти к тебе и узнать то, что мне нужно (то есть обратиться через прототип). Конечно, можно им переписать родительские методы или свойства, но по дефолту они берут все у родителей через прототип. И тут начинаются проблемы: через какое-то время маменька захворала и переопределила половину методов (это, конечно, отвратительная практика). Приходит к ней сын и разочаровывается.

    Я попытался на жизненном примере описать то, что происходит. Конечно, мелких нюансов много. На самом деле прототипное наследование дает даже бОльшую гибкость, чем классическое. Но где свобода творчества -- там велик шанс появления ошибок. И за это JS опасаются. Почему на Java строят архитектуру на миллионы строк ? -- потому что это строгий язык во всех отношениях, и ошибок из-за этого меньше.
    Ответ написан
    2 комментария
  • Почему не получается присвоить ref DOM-элементу?

    @t800zippygod
    Доброго времени суток. Когда реф передаётся элементу в методе render, ссылка на данный узел доступна через свойство рефа current. -- это текст с официальной страницы React (https://ru.reactjs.org/docs/refs-and-the-dom.html)
    При вызове из других методов this.input.current еще не определен и возвращает null
    Ответ написан
    Комментировать
  • Как корректно удалять элементы из большого redux state?

    @t800zippygod
    а для создания дипклона удобно использовать JSON.parse(JSON.stringify(obj))
    Ответ написан
    Комментировать
  • Как реализовать вычисления в state имея значения других компонентов?

    @t800zippygod
    Не помню точно реализацию чистого Flux, расскажу на примере Redux, основанного на концепции Flux. При сработке конкретного события создается действие(action), в нем находятся данные для изменения стейта (если требуются) и название действия. Затем это действие закидывается в reducer, который в зависимости от названия действия создает новый изменены стейт и возвращает его.
    Единственное что во flux вместо редьюсера используются диспатчеры
    Ответ написан
    Комментировать
  • Насколько хорошо нужно знать html и CSS для веб-разработки?

    @t800zippygod
    Привет)) для веба однозначно нужно знать html, даже если ты пишешь только сервера. Учить его, к счастью, десятки часов не надо, он запоминается на ходу. По поводу CSS -- для фронтенд разработчика обязательно знать надо, причем на хорошем уровне. С этим языком разметки уже посложнее -- CSS по-моему вообще выучить нельзя, его надо прочувствовать.
    А вообще для начала фронтенд-карьеры полезно просто сайтики поверстать.

    JS -- это уже следующий уровень: сначала на уровне "оживления", анимации и динамики сайта, а уже потом на уровне полноценного фронтенда, фреймворков, логики, SPA, PWA, вплоть до 3d-рендеринга, онлайн-игр и разработки мобильных приложений типа discord или instagram
    Ответ написан
    Комментировать
  • Как изменить стили библиотеки подключённой к React без !important?

    @t800zippygod
    Смотрите , тут два варианта. 1) Библиотека записывает стили инлайново, то есть через Element.classList.add(). В таком случае эти стили имеют наивысший приоритет, и тут можно: перезаписать стили вручную через js; либо же оставлять !important.
    2) Библиотека имеет набор готовых css стилей, которые через js лишь присваиваются элементам. Тогда надо смотреть, в каком стиле прописаны нежелательные характеристики. И переписывать их в своём css файле.
    Важно, чтобы в этом случае ваш css файл подключался после библиотечного
    Ответ написан