• Почему повторно рендерится дочерний компонент без state и props?

    DarthJS
    @DarthJS
    При Рендере родителя ререндерится все дерево чайлдов. Это можно избежать используя PureComponent или memo
    Ответ написан
    Комментировать
  • Как добавлять side effects при работе с "useReducer"?

    DarthJS
    @DarthJS
    useReducer это все лишь "Альтернатива для useState." Взято из доков.

    useEffect - Принимает функцию, которая содержит императивный код, возможно, с эффектами. То, что вы ищите.

    Не бойтесь документации, достаточно бегло прочитать.
    https://ru.reactjs.org/docs/hooks-reference.html
    Ответ написан
  • Чем руководствоваться при выборе, вынести ли "подкомпонент" react в компонент или поместить в функцию внутри компонента?

    DarthJS
    @DarthJS
    Повторяющиеся блоки лучше выносить в отдельные компоненты, их не только можно переиспользовать, но и есть ряд удобств.

    Причины почему не стоит возвращать компоненты из методов класса:
    1) Метод должен выполнять какое-то действие, а не возвращать компонент. В большом приложении вам этот подход очень упростит работу.
    2) При тестировании проще тестировать маленький отдельный компонент, нежели тестировать большой компонент, еще и его методы, которые возвращают тоже компоненты.
    3) Используя Реакт девтул для хрома вам будет намного проще дебажить отдельные компоненты и смотреть полную иерархию вашего приложения, просматривать и изменять стейты и пропсы, чем при использовании методов класса. (Просто проверьте это и будет вопросы отпадут).
    4) Если выносить блоки в отдельные компоненты, ваши файлы с текущими компонентами будут намного меньше, удобней будет читать код, и, в зависимости от вашей IDE, всегда сможете узнать что внутри компонента, наведя на него, а не скролить большой класс с методами, в которых хранятся блоки либо списки с какими-то вычислениями, что может быть еще хуже.

    Ответ написан
    Комментировать
  • Разместил резюме на позицию junior front-end, не понимаю что не так в нем?

    DarthJS
    @DarthJS
    Джун, особенно в твоем в возрасте сложный путь, (я где-то в таком же возрасте был джуном).

    1) Не выложил резюме и сижу жду, а отправляй куда только возможно, общайся уговаривай и стремись к цели. Джунов не ищут, как только появилась вакансия джуна, эйчар уже утопает в резюме, поэтому он врядли полезет куда-то еще искать тебя.

    2) Постоянно совершенствуй резюме, посмотри примеры, как можно больше, возьми на заметку хорошие фразы и используй.

    3) Отправляй резюме с со про водитель ным письмом - почитай как правильно его составлять.

    4) Ну и совершенствуй скилы. Нужно уверенно отвечать на вопросы
    Ответ написан
    Комментировать
  • Не работает задержка?

    DarthJS
    @DarthJS
    debounce(f, 2000) - эта функция принимает первым аргументов функцию, которая должна вызываться с задержкой, а второй аргумент время задержки. То есть вам нужно передать туда функцию, которая должна срабатывать на скрол. В вашем же случае задержка работает для вот этой функции:
    var f = function() {
                  var delay = false;
                  return delay;
                };
    Ответ написан
  • Почему webpack добавляет; в json и не может его парсить?

    DarthJS
    @DarthJS
    Какая версия Вебпака?
    Попробуй
    {
    test: /\.json$/,
    exclude: /(node_modules)/,
    loader: "json-loader"
    }

    И еще, в map функции у тебя нет return, ничего не отобразиться, либо используй ( html )
    Ответ написан
  • Как исправить Ошибку при импорте конфига .ovpn?

    DarthJS
    @DarthJS Автор вопроса
    Удалил эту строчку
    route remote_host 255.255.255.255 net_gateway
    И в IPv4 Settings -> Soutes поставил check на Use this connection only for resources on its network
    Ответ написан
    Комментировать
  • Над чем нужно работать, что улучшать?

    DarthJS
    @DarthJS
    Добавлю. Вы работаете с Реактом, но при этом просто повставляли темплейты, что не имеет смысла, вы там можете взять абсолютно любой фреймворк и вообще без фреймворка закинуть темплейты и понавешивать хендлеры. Темболейт нужно разбивать на компоненты, в которые вы прокидываете данные через props, а так у вас много повторяющегося html
    Поставьте линтер, он будет вам помагать. С ним вы будете хоть и говнокодить, но красиво
    Ответ написан
    2 комментария
  • Как Конвертировать объект в arrayObject?

    DarthJS
    @DarthJS
    var arrayObject = Object.keys(x).reduce(function (acc, curr, i) {
    const obj = {
    text: x[curr],
    value: curr
    }
    acc.push(obj)
    
    return acc;
    
    }, [])
    Ответ написан
    Комментировать
  • Как передать данные снизу вверх с помощью Context API React?

    DarthJS
    @DarthJS
    Centext Api немного для других целей. Просто закиньте метод внутрь:

    и уже в родительском компоненте, где вы его обьявили выловите value:
    handleChange = (e) => e.target.value;
    Ответ написан
    Комментировать
  • Как тестировать роуты в react?

    DarthJS
    @DarthJS
    Тут описание как тестировать роуты
    https://github.com/ReactTraining/react-router/blob...
    Ответ написан
    Комментировать
  • Бэкграунд для начала изучения JS?

    DarthJS
    @DarthJS
    "я бы мог "забить" и переходить к JS, но внутренний перфекционист не дает покоя" -- если внутренний перфекционист не даёт покоя, то будет очень тяжко :) так как часто попадаются фиговые проекты при который мой внутренний перфекционист каждый раз делает себе харакири.

    Проекты бывают разные, например админки, там чаще всего нужно что-то типа Bootstrap.
    Как вариант больше собеседоваться и брать тестовые задания, тогда будет больше понимания насколько хорошо нужно знать тот или иной иструмент. И собеседоваться уже пора сейчас и до конца года сможете набрать необходимый минимальный опыт.
    Ответ написан
    Комментировать
  • Как исправить ошибку при установке React Jest?

    DarthJS
    @DarthJS Автор вопроса
    Решено:
    не внимательно читал доки и пользовался больше сторонними ресурсами :)

    1. добавил файл .babelrc
    2. установил npm install --save-dev babel-preset-stage-2
    3. установил babel-plugin-transform-export-extensions
    4. добавил конфиг в созданный файл в пункте 1
    {
        "env": {
        "test": {
          "presets": ["env", "react", "stage-2"],
          "plugins": ["transform-export-extensions"],
          "only": [
            "./**/*.js",
            "node_modules/jest-runtime"
          ]
        }
      }
    }
    Ответ написан
    1 комментарий
  • Оптимизация fetch запросов в react-redux?

    DarthJS
    @DarthJS
    SelectFilter - это же не редюсер, это Action и вы в него ничего не передаете.
    Насколько я понял, что вы хотите сделать:
    dispatch (type_reducer(// сюда передаём данные с респонза));


    первый раз вы его используете перед запросом, то есть export function SelectFilter(item) - item будет undefined, и вы вернёте FILTER_CATEGORIES_REQUEST, потом после респонза вы наверное хотите еще раз дёрнуть dispatch (type_reducer(response.data)); - сюда уже даныне передаём, тогда export function SelectFilter(item) { if item возвращаем
    {
                type: FILTER_CATEGORIES_SUCCESS,
                item
            }


    Если я вас правильно понял
    Ответ написан
    Комментировать
  • Как лечить спину айтишникам?

    DarthJS
    @DarthJS
    Те кто советует врачей не особо шарят - фигня полная. Тупо выкачивание денег и никакого результата. Начались проблемы в 30 лет. Стал ходить по врачам и чую каждый вешает лапшу похлеще предыдущего. Дорогостоющие длительные сеансы. Иногда доходило до абсурда. В итоге с ходил на пару приемов к костоправу и остеопату, кажись так он называется. Костоправ сказал: ко мне ходят только ленивые, помог больше морально. Остеопвт после первого же сеанса снял боли, наведался еще через пол года на один сеанс. С тех пор постоянно занимаюсь спортом, хотя бы 2 раза в неделю. Не просто руки вверху и опустить, а интенсивная заначка пресса и спины (без тяжестей, лично мой спорт бокс и тайский бокс). Периодически упражнения вакуум и сжимания мягкого места это для возвращения таза на правильное положение. Самое забавное, что у врачей я делал рентген и мрт, а ни костоправ ни остеопат в него ни смотрели и четко все рассказали - вот это я понимаю профессионализм. Мораль: не бросайте спорт
    Ответ написан
    2 комментария
  • SetTimeout и for как сделать их работать вместе?

    DarthJS
    @DarthJS
    В данной ситуации лучше рекурсия подойдет:

    let arra = ['111', '222', '333', '444']
    function deley (iterator) {
    	
       let i = iterator || 0;
       setTimeout(function () {
    
      console.log(arra[i]);
      i++;
      if(i < arra.length){
       deley(i)
    }
    }, 2000);
    }
    
    deley();


    P.S. никогда не забывай указывать условие выхода :)
    Ответ написан
    Комментировать
  • Не могу вызвать state?

    DarthJS
    @DarthJS
    Либо chartData обьявляем как стрелочную функцию
    chartData = () => {
    Ответ написан
    Комментировать
  • Откуда передается пропс в компонент?

    DarthJS
    @DarthJS
    - DatePicker передается в Fields
    - Внутри компонента Fields скорее всего он вызывается (если конечно не передается дальше и вызывается где-то в третем колене)
    - Соответственно DatePicker принимает все пропсы из компонента Fields
    - ...props: Почитать о спреде https://developer.mozilla.org/ru/docs/Web/JavaScri...
    Ответ написан
    Комментировать
  • Как узнать предыдущий роут?

    DarthJS
    @DarthJS
    - сохраняешь значение фильтра в localstorage,
    - при переходе на другую страницу удаляешь значение с localstorage
    - когда возвращаешься на страницу с помощью goBack метода либо просто по урлу у тебя будет начальное значение фильтра
    Ответ написан
    Комментировать
  • Как выбраться из теоретика?

    DarthJS
    @DarthJS
    Как уже все написали - кодить кодить и еще раз кодить . Из своего опыта: у меня такой проблемы не было, я сразу стал кодить. Задаешься целью сделать простое приложение. Я решил помочь человеку, который записывал на листике какие-то данные и искал совпадения. Я подумал, могу помочь ему и стал кодить. Сделал без фреймворков, даже без джейквери на чисто JS, коряво и в одном файле. Зато оно работало! Я просто по мере поступления проблем искал ответы. Уже после того как написал и оно работало стал интересоваться как можно его улучшить с точки зрения правильного написания кода. Вот так. Так же как вариант взять книгу, в которой попунктно создается приложение - читать и повторять плюс обязательно отсебятины. ! Успехов
    Ответ написан
    Комментировать