Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
pterodaktil

Петр Мухуров

js developer
  • 45
    вклад
  • 6
    вопросов
  • 53
    ответа
  • 62%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Почему изменяется Redux store?

    abberati @abberati
    frontend-разработчик
    С тем, что объекты (и массивы) в js передаются по ссылке. Вы пушите в массив, лежащий в сторе. Очевидно, что массив меняется.
    Ответ написан более трёх лет назад
    6 комментариев
    6 комментариев
  • Как обращаться к App контексту в любом другом компоненте?

    abberati @abberati
    frontend-разработчик
    В этом нашем тупом реакте прежде, чем обращаться к контексту, его нужно создать. И их может быть множество. И не все корневые. А вообще контексты рядовому разработчику не нужны, это больше для библиотек и тех, кто понимает. Пройдите обучение в доке реакта, там без контекста всё работает. Ну и если всё-таки вы решили, что контекст вам нужен, то в документации подробно описано, как с ним работать.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Нужен ли Redux, когда есть React Hooks?

    miraage
    Mikhail Osher @miraage
    Старый прогер
    Нужно и то, и то, в зависимости от ситуации. Львиная доля проектов не нуждается в redux, его просто так туда добавляют.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как анимировать list в React?

    freislot
    Павел Антонов @freislot
    Frontend-разработчик
    Ставишь пакет
    npm install react-transition-group

    Импортируешь
    import { TransitionGroup, CSSTransition } from "react-transition-group";

    Анимируешь
    <TransitionGroup className="items-section__list">
      {list.map(elem => (
        <CSSTransition key={elem} timeout={500} classNames="move">
          <h5 key={elem}>{elem}</h5>
        </CSSTransition>
      ))}
    </TransitionGroup>

    Добавляешь css по вкусу
    .move-enter {
      opacity: 0.01;
      transform: translate(-40px, 0);
    }
    
    .move-enter-active {
      opacity: 1;
      transform: translate(0, 0);
      transition: all 500ms ease-in;
    }
    
    .move-exit {
      opacity: 1;
      transform: translate(0, 0);
    }
    
    .move-exit-active {
      opacity: 0.01;
      transform: translate(40px, 0);
      transition: all 500ms ease-in;
    }

    Обновленный пример из вопроса

    PS если нравится принцип анимирования через жизненные циклы, то никто не мешает в функциональных компонентах использовать хуки, почти то же самое. Попробуй.
    Вот тебе наводка Super easy react mount/unmount animations with hooks
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Почему рекурсия не работает?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    Это конечно круто - публиковать код, не говоря при этом ни слова о том, что он делает, и просить найти в нём косяки. Поступлю симметрично: вот вам код рабочий - сравнивайте со своим, думайте:

    const digital_root = x => x > 9 ? digital_root([...`${x}`].reduce((acc, n) => acc + +n, 0)) : x;
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Скопировал готовый компонент из библиотеки antd,включающий в себя элемент Menu. Вылетает ошибка,якобы не находит. Что делать?

    BRAGA96
    Ihor Bratukh @BRAGA96
    const { Layout, Menu } = 'antd';
    Вы вытягиваете два свойства объекта из строки.
    Может так?:
    import antd from 'antd'
    const { Layout, Menu } = antd;
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как на питоне правильно парсить сайт на react?

    dimonchik2013
    Dimonchik @dimonchik2013
    non progredi est regredi
    все так, Селениумом или другим JS браузером

    а зацепить можно уровнем вложенности, а не именами классов
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Можно ли разобрать и передать в презентационную компоненту из контейнерной - сразу два массива?

    alexey-m-ukolov
    Алексей Уколов @alexey-m-ukolov Куратор тега React
    [...credits.cast, ...credits.crew].map((person) => person.name)
    Ответ написан более трёх лет назад
    5 комментариев
    5 комментариев
  • Как убрать бесконечные запросы к API?

    hzzzzl
    hzzzzl @hzzzzl
    useEffect(() => {
    apiService.getAllPerson()
    .then(data => heroesApiLoaded(data))
    }, [apiHeroes]) <- useEffect вызывается каждый раз, когда apiHeroes меняется, а меняется она каждый раз когда вызывается useEffect
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Первая работа на позиции junior front end developer?

    Ant Li @ant13
    react-dev
    Лови ссыль
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Какие задания могут быть на техническом собеседовании кроме теории если уже выполнил тестовое задание, для React-Redux разработчика(junior)?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev
    Седой и строгий
    но процентов на 70 думаю у всех одинаково все происходит

    5dd295ef7459b542315700.png
    На собеседование нужно идти с тем, что знаешь в данный момент. Подучить по-быстрому не выйдет.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Какой подход лучше?

    abberati @abberati
    frontend-разработчик
    import React from 'react'
    
    const App = () => <></>
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Как изменить начальный путь из корня проэкта?

    IceRD
    Ice @IceRD
    указать alias в webpack
    resolve: {
            alias: {
                '~': path.resolve(__dirname, 'src'),
                '~i': path.resolve(__dirname, 'src/images/img/icons'),
            }
        },

    В проекте подключать как:
    import Img from '~i/sign-out.svg';
    Ответ написан более трёх лет назад
    2 комментария
    2 комментария
  • Почему не верно отображается массив объектов в Chrome после сортировки?

    alexey-m-ukolov
    Алексей Уколов @alexey-m-ukolov Куратор тега JavaScript
    Консоль хрома при раскрытии объектов и массивов использует текущее значение в памяти, а не то, которое было на момент вывода в консоль.
    Поэтому и
    при просмотре увидим, что он одинаков на всех этапах сортировок. В тоже время, он совпадает с последним отсортированным, массивом.
    Ответ написан более трёх лет назад
    3 комментария
    3 комментария
  • Какую часть версии изменять при мажорных обновлениях внутренних зависимостей?

    nvdfxx @nvdfxx
    Senior Pomidor developer
    При этом код нашего модуля не трогаем, ничего не ломается, все "ок".

    А зачем обновляться, рискуя получить лажу с обратной совместимостью, не используя при этом те штуки, которое эти обновления дают (за n мажорных апдейта, я полагаю, их предостаточно должно быть)? Как вариант - не выкатывать в релиз, пока чего нового не напишите по функционалу, чтобы можно было оправдать смену цыфорки, а если обновление ради обновления, то 1.2.6 ставьте, и дефолтное "фикс багов, патч безопасности", за n-версий там явно что-то пофиксили и что-то защитили
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Какие самые популярные паттерны проектирования в JavaScript?

    Zoominger
    Рональд Макдональд @Zoominger
    System Integrator
    Copy-Paste.

    Именно этот паттерн вам бы следовало применить к вашему вопросу и поисковой строке Тостера, потому что это уже 100500-ый вопрос на тему паттернов в ЖС.
    Ответ написан более трёх лет назад
    13 комментариев
    13 комментариев
  • Как сравнить массивы?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    array1.filter(n => !array2.find(m => m.name === n.name))

    Ну и чтобы наоборот, найти то, что есть в 2 и нет в 1 - надо их местами поменять.
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
  • Какой способ обработки событий в React лучше?

    rockon404
    Антон Спирин @rockon404 Куратор тега React
    Frontend Developer
    Используйте стрелочные функции в свойствах класса. Они являются негласным стандартом в React разработке и, скорей всего, очень скоро войдут в стандарт. Уже добрались до stage-3, а в Chrome уже есть нативная поддержка.
    Ответ написан более трёх лет назад
    Комментировать
    Комментировать
  • Кто может проверить грамотность кода?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    как улучшить мой код

    Подобный код не улучшают, а переписывают.

    function fearNotLetter(str) {
      const missing = Array
        .from(str, n => n.charCodeAt(0))
        .find((n, i, a) => n !== a[0] + i);
    
      return missing && String.fromCharCode(missing - 1);
    }
    Ответ написан более трёх лет назад
    4 комментария
    4 комментария
  • Как при нажатии на лайк прибавить еденицу, при нажатии на диз отнять?

    0xD34F
    0xD34F @0xD34F Куратор тега JavaScript
    https://jsfiddle.net/5wtopLka/
    Ответ написан более трёх лет назад
    1 комментарий
    1 комментарий
Оценили как «Нравится»
  • 1
  • 2
  • Следующие →
Самые активные сегодня
  • Drno
    • 9 ответов
    • 0 вопросов
  • vabka
    Василий Банников
    • 8 ответов
    • 0 вопросов
  • SoreMix
    soremix
    • 6 ответов
    • 0 вопросов
  • Vindicar
    Vindicar
    • 4 ответа
    • 0 вопросов
  • telegram_value_maker
    Евгений
    • 4 ответа
    • 0 вопросов
  • Алексей Гончаров
    • 4 ответа
    • 0 вопросов
  • © Habr
  • О сервисе
  • Правила
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации