• Как узнать из какого модуля ошибка?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Как узнать?
    Поиском по проекту "React.findDOMNode", но я подозреваю, что это где-то в самом верхнем компоненте у вас. Либо просто поиском по "findDOMNode", так как где-то может быть подключено так: import React, {findDOMNode} from 'react'

    Как исправить?
    а) npm install react-dom
    б) везде где используете React.findDOMNode заменить на findDOMNode, предварительно в каждом файле проимпортировав: import { findDOMNode } from 'react-dom'

    Суть ошибки в том, что функция findDOMNode переехала в отдельный пакет, а у вас она используется из пакета 'react'.
    Ответ написан
    1 комментарий
  • Как поднять себе зарплату?

    Insaned
    @Insaned
    Не надо искать много информации на эту тему. Надо найти работу где тебе предложат больше. Потом говоришь боссу: прям не знаю что делать - очень хочу тут работать, но у меня семья и дети (хомячки, попугайчики...) а в другом месте предлагают больше. Дальше тебе или повышают зарплату или ты идешь в другое место.
    Если тебе не удается найти работу на большие деньги - значит ты сейчас нормально получаешь и больше ты не стоишь - сиди на попе ровно.
    Ответ написан
    1 комментарий
  • Как поднять себе зарплату?

    sim3x
    @sim3x
    Хочешь больше зп?
    Найди новую работу

    АПД
    Теоретически, нужно поговорить с начальством. Да

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

    Даже теоретики в коментах

    АПД2
    У прохождения собеседования есть еще преимущества
    - ты получаешь подтверждение своей квалификации и необходимости тебя на рынке
    - ты получаешь денежный еквивалент своей ценности
    - ты получаешь повышение навыка прохождения собеседований - ето отдельный навык, который не часто пересекается с навыком программирование/разработка/администрирование/...
    - в случае провала собеседования у тебя нет никаких побочных еффектов
    - ты получаешь срез навыков необходимых рынку
    Ответ написан
    36 комментариев
  • В каждом файле по умолчанию подключены несколько node modules?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Про директории не в курсе, а в файлах можно не импортировать, для этого нужно использовать webpack-provide-plugin

    ...
      plugins: [
        new webpack.HotModuleReplacementPlugin(),
        new webpack.ProvidePlugin({
          'React':     'react'
        })
      ],
    ...


    Здесь немного подробнее ( переведу последний пример - как импортировать сразу несколько...)

    new webpack.ProvidePlugin({
        '$':          'jquery',
        '_':          'lodash',
        'ReactDOM':   'react-dom',
        'cssModule':  'react-css-modules',
        'Promise':    'bluebird'
      })


    Позволит вам не писать в файлах:

    import ReactDOM from ‘react-dom’
    import _ from 'lodash'
    import $ from 'jquery'
    import cssModule from 'react-css-modules'
    Ответ написан
    1 комментарий
  • Как исключить React модули из eslint?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    На всякий случай, скину свой конфиг.

    {
      "extends": "eslint:recommended",
      "parser": "babel-eslint",
      "env": {
        "browser": true,
        "node": true,
        "mocha": true
      },
      "plugins": [
        "react"
      ],
      "rules": {
        "no-debugger": 0,
        "no-console": 0,
        "no-case-declarations": 0,
        "new-cap": 0,
        "strict": 0,
        "no-underscore-dangle": 0,
        "no-use-before-define": 0,
        "eol-last": 0,
        "quotes": [2, "single"],
        "comma-dangle": [1, "always-multiline"],
        "jsx-quotes": [1, "prefer-single"],
        "react/jsx-no-undef": 2,
        "react/jsx-uses-react": 1,
        "react/jsx-uses-vars": 1
      }
    }
    Ответ написан
    1 комментарий
  • Как вляяет на JSS то что клиент поставил не большой приватный отзыв менее 9?

    vicodin
    @vicodin
    Имею некоторый опыт
    jss упадет если приватный отзыв ниже 9
    также он падет в случае рефунда или если клиент не оставил отзыв
    звезды ничего не значат
    Ответ написан
  • Как c помощью React-Router отправить картинку к API и получить ответ?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Так как вижу в тегах redux - отвечу "в рамках" этого проекта.
    Вам нужно использовать action (действие) - "Отправка_картинки" (и это обычный асинхронный запрос, скорее всего это POST запрос, так?)
    А затем в ответе на ваш асинхронный запрос, генерировать событие "Картинка_отправлена" + данные ответа.
    В редьюсере, вы ловите событие "картинка_отправлена" и добавляете полученные данные в store.

    Причем тут роутер - неясно. Роутинг - это не работа с "урлами" вообще. Это лишь часть работы, так сказать. Грубо говоря, реакт-роутер решает, исходя из url-адреса - какой именно компонент(ы) вам показать.

    По работе с асинхронными действиями в redux можно почитать здесь.
    Ответ написан
    6 комментариев
  • Docker - архитектурные вопросы о деплое и не тольно?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) nginx-proxy
    2) копируйте исходники в образ (в dockerfile), собирайте либо локально либо на CI-сервере эти образы и пушьте их в docker/distribution (либо платный docker-hub либо разверните свой, это с докером делается за минут 10).
    3) Прямо в контейнере с PHP. Либо заведите отдельный контейнер для php-cli и зачедите отдельный контейнер для исходников, и через volumes_from расшарьте между ними. Вариант с cron на хосте тоже достоен существования, но это не ок в большинстве случаев.
    4) обновлять базовый образ. А там уж как организуетесь.
    5) Можно, смотрим пункт 2.
    6) Вообще тут можно схитрить. Вы можете же хранить зависимости прямо в репозитории, в смысле коммитить вендоры. Но вы этого не делаете. На момент когда запускается docker build ваших образов, все зависимости уже должны поставиться. И для каждого из перечисленных вами средств разработки уже есть свой контейнер, готовый. Берем и юзаем.
    7) как мы выяснили в пункте 6 - композера на проде быть не должно. вообще как, вы оттещенный образ со стэйджинга должны просто "мувать" на продакшен. В этом плане риски при релизе минимальны.
    8) тут опять же по разному. Мне удобнее прямо из контейнера коннектиться например в sentry или graylog и скидывать туда логи. Ну или мы должны пихать логи в stdout/stderr контейнера и далее агрегировать их снаружи, тут так же есть куча вариантов.
    9) все это отдельные контейнеры, все это вместе связывается башем и docker-compose. Все это разварачивается либо через docker-machine и CI либо просто через CI. Docker-machine будет "удобным" только с версии 0.7 или 0.8.
    Ответ написан
    2 комментария
  • Есть ли способ не привязывать каждую функцию в которой нужен this в ES6 React?

    Binding to methods of React class (ES7 included)
    Мне нравится использовать стрелочные функции и свойства классов от es7
    onMouseMoveHandler = (e) => {
        if (this.state.active) {
        ....
    Ответ написан
    Комментировать
  • Есть ли способ не привязывать каждую функцию в которой нужен this в ES6 React?

    В babel с пометкой stage-0 есть такая штука - https://github.com/jeffmo/es-class-static-properti...

    Она позволяет делать так:

    class MyClass {
      foo = () => {
        console.log('foo a = ', this.a);
      }
    
      bar = () => {
        this.a = 10;
        setTimeout(this.foo, 10); // Мы не биндим foo на this
      }
    }
    
    const o = new MyClass();
    const bar = o.bar; // и тут тоже не биндим
    
    bar(); // выводит "foo a = 10"
    Ответ написан
    Комментировать
  • В чем разница между --save-dev и --save?

    ruddy22
    @ruddy22
    Спасение утопающих — дело рук самих утопающих
    это нужно для деплоя в продакшн.
    а в продакшн, как известно попадает уже минифицированная версия всего.
    если я не прав, поправьте меня.
    Ответ написан
    Комментировать