• Зачем нужен bindActionCreators?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    bindActionCreators получает на вход объект с AC, либо функцию и возвращает объект с AC, обернутыми в вызов dispatch или в случае с функцией функцию обернутую в dispatch.

    Если вы передаете в connect вторым аргументом объект:
    const mapDispatchToProps = {
      getProducts,
    };

    То ваш объект в процессе вызова connect будет передан в вызов bindActionCreators и каждый AC будет обернут в вызов dispatch.
    Этот вариант записи, в вашем случае, является предпочтительным, так как он короче.

    Ручное оборачивание AC в dispatch:
    const mapDispatchToProps = (dispatch, ownProps) => ({
      getProducts: () => dispatch(getProducts()),
    });

    Тут можно использовать второй аргумент ownProps, ограничить количество принимаемых AC аргументов или поменять их порядок, а так же передать дополнительные функции, которые не надо оборачивать в dispatch.

    Вызов bindActionCreators на объекте с AC:
    cosnt mapDispatchToProps = dispatch => bindActionCreators(
      {
        getProducts,
      },
      dispatch,
    );

    В использовании такого варианта записи нет особого смысла, так как первый вариант записи короче.
    Но можно ее видоизменить:
    const mapDispatchToProps = (dispatch, ownProps) => ({
      ...bindActionCreators(
        {
          ...productsActions,
          ...usersActions,
          ...ordersActions,
        },
        dispatch,
      ),
      () => getSomeOther(ownProps.someProp),
      notNeedsToWrapInDispatch,
    })

    В таком виде можно передать в bindActionCreators много AC как есть и отдельно передать дополнительные AC обернутые в dispatch, которые будут использовать ownProps или функции которые не надо оборачивать в dispatch.
    Ответ написан
    Комментировать
  • Как понять < div style="100%" >?

    politon
    @politon
    HTML5,CSS3,JS,PHP,SQL,API,canvas,animation...
    Один "учитель" проимел атрибут, второй "ученик" нашел косяковый код и ищет как это используется))))))))
    Ответ написан
    Комментировать
  • Как понять < div style="100%" >?

    ShadowOfCasper
    @ShadowOfCasper
    Middle User Interface Web Developer
    Это просто стиль, детка)))
    Неее, кто-то тупанул. под паттерн не попадает. по идее style='propertyName: propertyValue', а тут style='propertyValue'
    Ответ написан
    1 комментарий
  • Бесплатный проект для портфолио превратился в бесконечный. Как быть?

    customtema
    @customtema
    arint.ru
    Взялся я однажды бесплатно сделать корпоративное приложение, дабы начать формировать портфолио.


    Привет! Я занимаюсь корпоративными приложениями. "Бесплатно" - это хорошо, конечно. Но поверьте, проблема не в заказчике. Разработка так называемых "корпоративных приложений" действительно стоит тех сотен и тысяч нормочасов, которые прописываются в сметах. То, что вы со своим заказчиком изначально не учли этого и других тонкостей, на законы мироздания не повлияло. И ничего удивительного в последствиях ваших взаимоотношений нет. Напротив, все очень даже закономерно.

    Бесплатный сыр бывает... где?

    Заказчику вы тоже "подмаслили" хорошо. Он-то вложил, если не деньги, то время и надежды. И сейчас вы его и его планы в любом случае обламываете. Вопрос - в каких масштабах обламываете.

    В подобных случаях я или сразу отказываю, или, как минимум, стараюсь сделать главное - не обещать многого. Работа стоит денег. Квалифицированная работа стоит еще больших денег. Известный приличный объем квалифицированной работы "бесплатным" быть не может. Только если вы инвестируете его бизнес за свой счет. Речь идет о сотнях тысяч и миллионах рублей - в перерасчете на нормочасы, вы можете себе позволить потратить такое количество личного времени? Не дороговато получается, за портфолио?

    Чтобы закончить проект, сделайте не-знаю-что с заказчиком, и изучите DDD и бизнес-аналитику. Это позволит вам адекватно оценивать объемы задач, при работе в этой отрасли.

    Как палочка-выручалочка, вот список методик из разных областей, которые могут вам помочь. Изучение этих методик, естественно, займет некоторые силы и время, но вероятно они спасут вас и дадут определенное понимание перспективы. Все гуглится:
    • Getting Real
    • DDD
    • Бизнес-анализ
    • Книги Мартина Фаулера
    Ответ написан
    Комментировать
  • Какие существуют методы защиты от спам регистраций?

    @1099511627776
    Пишу все что интересно и на всем на чем интересно
    д. цифры в имени пользователя
    А меня вот этот пункт оооооочень смущает
    Ответ написан
    1 комментарий