• Как в react-redux реализовать вызов метода в ответ на изменение стейта?

    @f-end Автор вопроса
    Максим, спасибо за Вашу книгу, очень помогла разобраться с react.

    Первая часть Вашего сообщения проясняет react-rudux-подход в описанном мной случае: в одном экшене вызываем другой. Я думал о таком решении, меня смутил тот факт, что обновление корзины будет инициироваться в неких экшенах, не имеющих непосредственного отношения к компоненту. Мне показалось это не очень хорошей идеей. Компонент обновляет "кто попало", а не компонент обновляется в зависимости от какого-то события, на которое он подписан - что не мой взгляд более понятно, открываешь код компонента и видишь, что он обновиться если кто-то вызовет событие "Обнови_корзину". Иначе вообще не понятно что он может обновляться, у него даже метода такого нет.
    Но раз так принято, то ок.

    А вот вторая часть Вашего ответа мне не до конца понятна.
    Допустим, есть у меня компонент cart.container с таким кодом:
    function mapStateToProps(state) {
      return {
        userIsAuthorized: state.user.isAuthorized
      }
    }
    // state - это store - объект состояния приложения.


    и компонент cart, которому свойство userIsAuthorized в пропсах не нужно от слова "совсем".
    Зато компонент cart.container хотел бы при изменении этого свойства делать ajax-запрос и обновлять свои данные в state. Разве это возможно без костылей?

    И вот тут не понятно: "если говорить об частном случае, скорее всего reducer с названием rate"
    reducer - это же функция, а здесь просто rate - ссылка на свойство объекта. Даже есть посмотреть в Вашем примере, state - это объект состояния, а свойство user связано со свойством state.user, не с reducer'ом.
    Или я что-то не понимаю?
  • Как устроиться на работу бывшему ИП?

    Андрей: лучше говорить "работал в качестве фрилансера, поэтому был ИП". Ваш опыт работы в магазине никого не интересует, на таких работах интересуют технические навыки, чтобы они вообще были :)
  • Как устроиться на работу бывшему ИП?

    Андрей: В Вашем возрасте столкнулся с такой же проблемой. Тоже был ИП с магазином. В менеджеры не брали (правда, я даже не думал, что причина в прошлом ИП), в продавцы тоже как-то не получалось...
    Прикинул, что я умею делать: я разбирался в шаблонизаторе Битрикс т.к. сам поддерживал свой магазин на этом движке. С этим я и пошел на собеседование в "поддержку сайта". Показал, что могу верстать - взяли. Надо сказать, что потом я там дорос до руководителя отдела и сам проводи собеседования. Так вот выбирать было не из чего, на такие вакансии идут совсем никакие личности, просто профаны, каким я и был, когда устраивался.
    Чтобы было понятно, что это за профессия: в вакансии написано "знания php, html, android, mysql, mongodb, битрикс, джумла, css... и еще много бреда" Вот это как раз для тех, кто ничего не знает, но понимает значения перечисленных слов.
    В общем, поработал там. Текучка большая, быстро дорос до руководителя. Но при этом я постоянно расширял кругозор, дома по вечерам делал свои проекты, читал статьи, лепил хеловорды.
    Когда мой уровень ничегонезнания стал не совсем позорным, я начал рассылать резюме, делал тестовые задания и меня в более профессиональный коллектив, где мой уровень вырос за год в миллион раз.
    Сейчас я не имею проблемы с востребованностью на рынке труда, имею зарплату выше средней по Москве раза в два и не боюсь потерять работу.
  • Библиотека асинхронных запросов для react?

    +100500. Это именно то, что надо. В частности описанную проблему успешно решает метод switch:
    reactivex.io/rxjs/class/es6/Observable.js~Observab...
  • Архитектура в angular2?

    Сергей: ну да, если в файле используются переменные из _variable.scss, то надо его непосредственно в этом файле подключать через import
    Мы абсолютно аналогично делаем с библиотеками JS, если нужна какая-нибудь lodash, то ее (точнее ее метод, но не суть) придется импортировать в тот модель, где она нужна. И в другой модуль ее так же придется импортировать.
  • Архитектура в angular2?

    Сергей: вы хотите объявить переменные глобально и потом использовать их в компонентах?
    Возможно и есть какой-то способ это сделать, но сама компонентная идеология Ангуляра этого подхода не поддерживает. В вашем компоненте появляются зависимости, не описанные в самом компоненте. Это плохо для реиспользования компонента. Поэтому предполагается, что вы все зависимости импортируете в тот файл, в котором они используются.
  • Архитектура в angular2?

    Сергей: для 80% его хватит.
    Если необходим гибкий и настраиваемый конфиг, вот: https://angular.io/docs/ts/latest/guide/webpack.html
    Если хотите, можете придумать и для гапла там задачу. Пусть мух, например, считает :)
  • 2016 год. Индексируются ли ajax сайты (На примере meduza.io)?

    С отключенным JS контент meduza.io отображается. Т.е. он рендерится на сервере. Пример не очень хороший.
  • Почему лоадер Babel ломает другой лоадер?

    @f-end Автор вопроса
    Есть даже issue об этой проблеме: https://github.com/at0g/nunjucks-loader/issues/22
    Но разработчики утверждают, что проблема не на их стороне, а в babel
  • Почему лоадер Babel ломает другой лоадер?

    @f-end Автор вопроса
    "В функцию вместо this (вверху)..."
    речь о последней строка в примерах
  • Почему лоадер Babel ломает другой лоадер?

    @f-end Автор вопроса
    Вы имеете ввиду ошибку в nunjucks? Global undefined
    В функцию вместо this (вверху) передается undefined, в результате аргумент global одного из внутренних методов остается без значения.

    Выяснил в данный моменте что ломает конкретно presets[]=es2015, без этой настройки все работает корректно.
  • Как изменять state компонента react js извне?

    @f-end Автор вопроса
    форматирование сломало весь код, но, думаю, понятна идея, она в
    modal.props.data = data;
    modal.show();
  • Как изменять state компонента react js извне?

    @f-end Автор вопроса
    Да, решение рабочее. Но в моем случае я не хотел бы рендерить окно сразу, оно возможно пользователю и не будет показано. Зачем сразу ему все барахло грузить?
    Если окно нет - его надо отрендерить по событию, если оно уже есть - обновить данные (при необходимости) и просто показать.

    Я сейчас сделал вот так:
    ...
    var modal;

    this.on('showModal', function (data) {
    if(!modal) {
    modal = ReactDOM.render(
    ,
    this.el
    );
    } else {
    modal.props.data = data;
    modal.show();
    }

    }, this);
    ...
    и соответственно метод:
    ...
    show: function () {
    this.setState({show: true})
    },
    ...

    Но мне кажется, это похоже на какую-то содомию. Я прав?
  • Где можно посмотреть документацию phantomjs?

    @f-end Автор вопроса
    Но за идею с архивом спасибо. Там нашлось что надо
  • Где можно посмотреть документацию phantomjs?

    @f-end Автор вопроса
    Просто есть надежда, что где-то документация продублирована.
  • Почему на IOS OS вёрстка съезжает напрочь?

    У меня к сожалению тоже нет такой возможности.
    Но по моему опыту скажу, что обычно если везде все хорошо, а в одном актуальном браузере какая-то ж... значит где-то банальнейший косяк, который другие браузеры просто исправляют самостоятельно, а этот не хочет. И пустой head очень похож на такой.
  • Что не так с наследованием?

    Нет, Вы не перепутали аргументы.
    Смотрите на строку: emptyCtor.prototype = parent.prototype;
    здесь в прототип функции emptyCtor копируются все значения из прототипа parent

    Когда Вы передаете ParentClass как аргумент, то происходит следующее:
    в emptyCtor копируются свойства из прототипа ParentClass.
    А там Ваших свойств нету! this.a - это не запись в прототип.

    (Специально не пишу код, чтобы Вы поняли сам принцип, если будет совсем не понятно - напишите, я тогда решение приведу. )
  • Как настроить подсветку синтаксиса ES6 Node.js в Webstorm?

    @f-end Автор вопроса
    Я вроде везде отметил согласно документации:
    https://yadi.sk/i/9xaVCojht7hXQ
    https://yadi.sk/i/9iDQl3EFt7ho6
    Где-то еще надо?
  • Битрикс vs Front End, что актуальнее?

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