Задать вопрос
  • Все ли приложение будет ререндерится, если измениться какой то внутренний(где то в приложении) state одного из компонентов?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Разумеется что нет. Рендерится (перерисовывается) только "та часть" (тот компонент), в которой были изменены пропсы/стейт + все дети если в них нет оптимизаций (например, они могут быть сделаны как stateless, pureComponent или иметь shouldComponentUpdate - тогда перерисовываться не будут при описанных условиях).

    вижу обновили вопрос: да, только футер.
    Ответ написан
    2 комментария
  • Как делать нормальный запрос в fetch?

    rockon404
    @rockon404
    Frontend Developer
    Можно использовать axios
    axios.post('/login', { body: 'Hello' })
      .then(function(res) {
        alert(res.data);
      });


    Запросы к северу хорошо оформлять отдельными функциями:
    const login = options => axios.post('/login', options);

    ES5 версия:
    const login = function(options) {
      return axios.post('/login', options);
    }


    Ее использование в коде:
    login(options).then(res => alert(res.data));

    ES5 версия:
    login(options).then(function(res) {
      alert(res.data);
    });

    в асинхронной функции:
    async () => {
      try {
        const { data } = await login(options);
        /* some other logic */ 
      } catch e {
        console.log('Server request error:', e);
      }
    }
    Ответ написан
    Комментировать
  • Какой необходимый уровень знаний для junior React.js Разработчика?

    Junior-React разработчик?
    По-моему, как-то странно звучит.
    К изучению стэка технологий, среди которых Реакт нужно подходить уже будучи не совсем джуном: важно понимать базовые основы функциональной парадигмы, отличие её от ООП, понимание архитектуры flux и потоков данных, уверенный уровень JS (ES6), как асинхронность работает, всякие ajax-api (axious, fetch), конечный автомат (что такое и зачем нужен). Про хтмл\вёрстку, само собой, конечно же.
    Я когда без хорошего навыка JS полез в Реакт, то не понял, что вокруг происходит.
    Ответ написан
    2 комментария
  • Как переписать action в компоненте?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Понять бы еще зачем этот перенос?

    Тем не менее, если вы хотите использовать dispatch внутри ваших экшенов, можете взять middleware redux-thunk, тогда сможете записать:

    export const handleFilters = (type, val) => {
      return (dispatch, getState) => {
        switch (type) {
        case "input":
          dispatch({
            type: FILTER_BY_INPUT,
            payload: val
          });
        case "time":
          ...
        }
      }
    };
    Ответ написан
    2 комментария
  • Что такое Redux простыми словами?

    Лучшее объяснение Redux что я видел.
    getinstance.info/articles/react/learning-react-redux
    ba494148d28e422b4c7bd269de5bed09.png
    Ответ написан
    Комментировать
  • Как будет с ES6?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Можно так:
    В компоненте в из которого передаете хандлер определяете его как inline arrow class function:
    class Parent {
      onNoteDelete = note => {
        // some stuff
      };
    }

    Такие функции не теряют контекст. Либо, можно забиндить хандлер в конструкторе, как посоветовали выше.

    Метод render:
    render() {
      const { notes, onNoteDelete } = this.props; 
      
      return(
        <div className="notes-grid" ref="grid">
          {notes.map(note => (
            <Note 
              key={note.id} 
              color={note.color}
              onDelete={() => onNoteDelete(note)}
            >
              {note.text} 
            </Note>
           ))}
        </div>
      )
    }


    Для значений которые не переопределяются лучше использовать const, а не let. Так другие программисты будут сразу видеть, что значение не переопределяется и как следствие ваш код будет читаемей.
    Ответ написан
    Комментировать
  • С чего начать учить React?

    Используйте Create React App
    Все что надо для старта там есть. Ставьте и переписывайте начальный компонент на ваше смотрение
    Ответ написан
    1 комментарий
  • Как правильно сделать шаги в калькуляторе?

    @LiguidCool
    1) По моему вы пытаетесь изобрести "колхоз".
    2) Есть реально МНОГО реализаций Tab'ов. Например Boostrap или Semantic. Или у Semantic есть вообще Step, который для того и придуман. Ну и много чего на JQuery - гугл в помощь.
    3) Подобные калькуляторы !!! ОЧЕНЬ ПЛОХАЯ ИДЕЯ ДЕЛАТЬ ХАРДКОДОМ !!!. Поддерживать потом или что-то менять - превращается в филиал ада, ибо в 99% у вкладок начнут появляться зависимости. Если это у вас не задача из серии сделал-забыл, то я бы советовал сделать компонент на React или Vue. Заодно их изучение сподвигнет вас не писать JS говнокод.
    4) Если все же задача "срочно, просто, без запары" и использовать UI библиотеку не хочется, то да:

    Пока идея добавлять шагам display: none;

    можно так.
    Всем вкладкам назначается класс (например tab), они не видимы. При клике на шаг у всех вкладок удаляется класс active и через this устанавливается тому, на котором был клик.
    jsfiddle.net/syahrasi/Us8uc - простейший пример реализации.
    Ответ написан
    5 комментариев
  • С чего начать изучение искусственного интеллекта?

    в математике полный ноль

    Начать с решения данной проблемы.
    Ответ написан
    3 комментария
  • Есть ли книга алгоритмы в примерах и задачах?

    ikryloff
    @ikryloff
    Full stack student
    Грокаем алгоритмы
    Ответ написан
    Комментировать
  • Как вы относитесь к тестовому заданию ДО собеседования?

    @hsx_vlad
    К тестовым заданиям, я отношусь так же, как и работодатель к тестовым платежам. Работодатели предлагающие тестовые задания лично меня не интересуют.
    Ответ написан
    1 комментарий
  • Как пройти внезапное собеседование в IT-компанию?

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

    Вы уверенны в себе! Вы спокойны и расслаблены, но в тоже время остаетесь сконцентрированными. Поверхностные знания приносят вам понимание и тем самым закрепляют эти знания. Мысли направленны только на позитивный исход собеседования. На собеседовании будете отвечать уверенно и всеми своими словами, жестами, мимикой и голосом будете демонстрировать свою уверенность в своем отличном понимании предмета. Предварительно, вы в уме проиграете успешное собеседование, как талантливый актер перед пьесой. Вы представите, что к вам пришел неопытный специалист и попытаетесь ему понятно и в красках рассказать о этих самых системах.

    Все у вас получится! Успехов ;)
    Ответ написан
    1 комментарий
  • Как написать стиль css, чтобы фон менялся только у первой и последней кнопки?

    @choupa
    Архитектор (обычный, который строит)
    button:not(:first-child):not(:last-child)  {
      background: @yourColor;
    }
    Ответ написан
    Комментировать
  • Как вернуть значение из одного метода и получить в другом?

    Stalker_RED
    @Stalker_RED
    class foo {
      method1() {
         return 'hello' // return вы и сами написали
      }
      method2() {
         let x = this.method1() // а вот результат никуда не присвоили
         console.log(x)
      }
    }
    Ответ написан
    7 комментариев
  • Что имеет смысл осваивать если есть желание уйти в "айтишники"?

    @Vasiliy_M
    Насколько я вижу, программисты-разработчики могут рассчитывать на ~100+ круб, поэтому был бы признателен если бы накидали идей о том, как вернуться в сферу IT.
    в Вашем случае уже поздно. Без обид. Возраст у Вас уже не детский, а программирование - это удел оч молодых.

    До 100 круб вы не дотянете уже никогда. Тут люди, которые с годами опыта, гораздо ниже имеют. Не верьте просто в сказки. 100+ получают единицы по сравнению с общим количеством людей, умеющих программировать. Много факторов - и мозги лучше должны быть, и контора хорошая, и талант/уменее, а также судьба попасть в нужное место.

    Не надо Вам это, поверьте. Многие бы отдали многое за то, что бы выйти из IT, так как индустрия очень сильно бежит вперед, становится сложно угнаться. Вы даже не представляете в какую *опу хотите влезть без вазелина.
    Ответ написан
    7 комментариев
  • Что имеет смысл осваивать если есть желание уйти в "айтишники"?

    AgentProvocateur
    @AgentProvocateur
    Зарплаты в IT уверенно стремятся к "медианным значениям по региону" (прикладываю скрин статистики хедхантера за 2017 год). При этом, конкуренция по "индексу hh" (соотношение числа резюме к числу вакансий, в IT = 2.4) эквивалентна значениям в таких областях, как автобизнес (2.7), продажи (2.9), маркетинг (2.8), банки (2.4), обслуживающий (2.9), рабочий (2.0) персонал.

    Кстати, 35 000 руб./мес. - это не за вордпресс какой-нибудь, и даже не за js, а за Java - самый востребованный язык в вакансиях.
    5a5946f452d99942116889.jpeg
    Это при том, что IT - это не та сфера, где получил корку, устроился, отсидел своё с 9 до 18 в одноклассниках/вк и уехал домой отдыхать и наслаждаться личным временем. Это сфера, где требуется постоянная сосредоточенность на сложных интеллектуальных задачах (а это максимально сложно в сравнении с другими видами механической/говорильной деятельности), постоянное обучение и гонка за регулярно меняющимися технологическими трендами (естественно, во внерабочее время - по вечерам/ночам/выходным...такой бег, чтобы оставаться на месте).

    А ещё в вышеперечисленных отраслях имеется возможность для доп. дохода в рабочее время (колым, откаты/распилы, чаевые и т.д., чем большинство и живёт). В IT же в 95% случаев только зарплата, а все фриланс-подработки, опять же, вечером/ночью/по выходным на дико задемпингованном рынке для жителей стран третьего мира.

    А ещё в вышеперечисленных отраслях от соискателей не требуют "личных проектов", бесплатных open-source разработок в обязательном порядке, знания десятков несвязанных между собой технологий (плюс портфолио и опыта в минимум 3 года по каждой), "горящих глаз", какого-то особого склада ума и т.д.

    А ещё бытует мнение, что в IT чуть ли не самая высокая востребованность кадров, чуть ли не самая динамично развивающаяся отрасль на фоне остальных стагнирующих. Открываем ту же статистику по приросту вакансий за 2017 год (в сравнении с предыдущим): IT +3%, банки +15%, автобизнес +73%, добыча +92%, развлечения +37%, медицина +79%, продажи +7%, производство +76%, строительство +53%, обслуга +20%, юристы +30%, фитнес + 18%, рабочие +35%, "умирающая" бухгалтерия +34% и т.д.

    К чему я это:

    1. Идти в IT за деньгами сегодня - глупая затея. Деньги то будут, но на уровне "средней зарплаты по региону", как у заводчан и продажников, и через года 3 (когда пройдёте этапы обучения, стажерства и джуниора). Идти в IT стоит только тем, кто не может жить без программирования и не представляет свою жизнь (дни, ночи, выходные) без кода в родном IDE. Будем честны - вряд ли это относится к вам.
    2. Все байки про "в IT самые высокие зарплаты, самая большая востребованность, самая низкая конкуренция" - миф. В столице, конечно, полегче (с числом и разнообразием вакансий), но всё же. И миф этот культивируется теми, чья задача - сравнять IT-отрасль по зарплатам/условиям с другими сферами (как видим, получается).
    3. Насчёт вашего возраста.

    Если есть возражения типа "Москва - не Саратов"...средняя з/п по Москве за 2017 год (опять же, по статистике HH) - 61 566 руб. Средняя з/п в IT в Москве за тот же период - 55 968 руб. В Саратове з/п айтишников превышает среднюю по региону на 13%, в Москве же она ниже средней на 10%. Зато вакансий больше...(и конкуренция от "голодных юношей с горящими глазами" ровно в 3 раза выше).

    Хотели конкретику - держите:)

    Что касается фриланса и прочей web-самозанятости читайте тут. Уверен, выводы сами способны сделать.

    P.S. Лично я присоединяюсь к тем, кто советует вам либо отдохнуть хорошенько, либо сменить проект в управлении.
    Ответ написан
    29 комментариев
  • Будущее веб-разработчиков python?

    vitali1995
    @vitali1995
    Поскольку вопрос холиварный, провозглошу и своё предсказание.

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

    Интереснее попытаться предугадать, кто вымрет первее конкретно в вебе. Тут будущее более туманно, но будущее питона наиболее сомнительно. PHP видится ещё более неуклюжим, но живучим за счёт исторически сложившегося сообщества. Java|C# кажутся менее гибкими, но более стабильными, ведь они кроме сообщества содержат хорошие показатели производительности. Менее популярные языки, такие как Go, комментировать не буду, потому что все они получаются однобокими - каждый со своими изъянами.

    Что касается JS, то он сейчас как самый крупный динозавр переживает свой расцвет. Он показывает самое оптимальное соотношение скорости разработки к скорости выполнения, поддерживает проверку типов с помощью транслятора TypeScript, позволяет писать асинхронный код в синхронном стиле с помощью новых стандартов, гибко масштабируется и что самое важное - может переиспользоваться на клиенте и сервере, в том числе с любыми гибридными приложениями, что снижает затраты на разработку и отладку. А ещё Node.js позволяет распараллеливать процесс и делать это даже проще, чем на Java|C#, хотя чаще всего этим не занимаются за ненадобностью.

    Шагайте в ногу со временем, имейте голову на плечах и смелость менять направление, когда придёт время.
    Ответ написан
    4 комментария