Задать вопрос
  • Почему redux-form игнорирует значение которые приходят с редюсера?

    SPAHI4
    @SPAHI4
    реактовцы - это не девы, а прокидыватели пропсов
    AppModal = reduxForm({
      form: 'AppForm',
      touchOnChange: true,
      
      enableReinitialize: true,
    })(AppModal );
    Ответ написан
    1 комментарий
  • Как зациклить много css-анимаций как одну?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Запускать последовательно через js.
    Или как вариант с задержкой поиграться. То есть 2-я анимация имеет задержку равную циклу первой, а у первой после выполнения задержка равная длине всего цикла - первая. Тогда каждую отдельно циклим, а результат нужный.
    Ответ написан
    1 комментарий
  • WP job manager, добавить builder?

    Punkie
    @Punkie
    Visual Composer умеет работать с любыми post type.
    Ответ написан
    1 комментарий
  • Не срабатывает onchange в React Datepicker?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    У вас на onChange функция, которая просто форматирует дату. И все, я даже затрудняюсь сказать, какой от этого будет эффект, но помоему никакой.

    Нужно на onChange прокидывать функцию - создатель действия, например, у нас это будет myAction.

    Следовательно, где-то там в actions будет примерно такой код:

    export function myAction(date) {
      return {
        type: 'CHANGE_DATE',
        data: date
      }
    }


    Затем где-то в редьюсере, должно быть соответствующее условие, например, на case 'CHANGE_DATE' у вас будет устанавливаться в current дата. (специально не пишу код, чтобы немного поработали сами).

    В конце концов, в вашем контейнере, у вас должны быть mapStateToProps и mapDispatchToProps примерно такого вида:

    const mapStateToProps = (state) => ({
      dates: state.dates,
    })
    
    const mapDispatchToProps = (dispatch) => ({
      myAction: (date) => dispatch(myAction(date)),
    })


    Ну и само подключение DayPickerSection будет выглядеть примерно так:

    <DayPickerSection selected={this.props.dates.current}  myAction={this.props.myAction} />


    А в рендере (имеется в виду в рендере DayPickerSection) будет следовательно:

    const DayPickerSection = ({selected, myAction}) => {
        return (
            <div>
                <DatePicker selected={selected}
                            onChange={(date) => myAction(date) }/>
            </div>
        );
    };


    Итого (читать медленно): в onChange компонента DatePicker попадет свойство this.props.myAction "прокинутое" в DayPickerSection. В свою очередь, в DayPickerSection это свойство будет равно функции, которая будет "прокинута" с помощью mapDispatchToProps в this.props контейнера. Контейнер, называйте его как хотите, в нашем случае это родительский элемент, например, который "приконекчен" (c помощью функции connect), и который из-за этого принимает к себе в this.props данные описанные в mapStateToProps и в mapDispatchToProps, которые в свою очередь являются чем то вроде карты. То есть, в конечном счете в this.props.myAction вашего контейнера попадет функция myAction из вашей папки actions. Конечно, для этого ее нужно импортировать в начале файла (import { myAction } from '../actions'.)

    Контейнер может выглядеть так:

    import React, { Component } from 'react'
    import { connect } from 'react-redux'
    import { myAction } from '../actions'
    
    class App extends Component {
      render() {
        const { dates, myAction } = this.props
    
        return (
          <div className='my-app'>
            <DayPickerSection selected={dates.current}  myAction={myAction} />
          </div>
        )
      }
    }
    
    const mapStateToProps = (state) => ({
      dates: state.dates,
    })
    
    const mapDispatchToProps = (dispatch) => ({
      myAction: (date) => dispatch(myAction(date)),
    })
    
    export default connect(mapStateToProps, mapDispatchToProps)(App)
    Ответ написан
    1 комментарий
  • Получить и обработать даные, React/Redux?

    @aphows
    Redux используется как хранилище для данных, то есть ваша задача получить данные, обработать их, а потом занести их в state. Дальше можно использовать эти данные уже во вьюхах в обработанном виде.
    Асинхронность реализуется через middleware, самый распространенный - redux-thunk от gaeron. Он позволяет возвращать из экшна не объект, а функцию, в которую передастся dispatch, и через который можно будет вызвать изнутри этой функции другие экшны.

    import convert from 'xml-js'; // https://www.npmjs.com/package/xml-js
    
    class apiClient {
        get(url) {
            return Promise.resolve(/* do something async */)
        }
    }
    // actions
    export function getData() {
        return (dispatch, getState) => {
            dispatch({
                type: 'data/LOAD_STARTED',
            });
            apiClient.get('/api')
                .then((response) => {
                    const data = convert.xml2json(response.data, {compact: true, spaces: 4});
                    dispatch({
                        type: 'data/LOAD_SUCCESS',
                        payload: data
                    })
                })
                .catch((e)=> {
                    dispatch({
                        type: 'data/LOAD_ERROR',
                        payload: e,
                    })
                });
        }
    }
    Ответ написан
    2 комментария
  • Верстка email-письма, два макета?

    @krontill
    Очень рекомендую ссылку на кучу полезных ресурсов, руководств и исследований - https://habrahabr.ru/company/pechkin/blog/273677/
    Какие почтовики, какие стили поддерживают -https://www.campaignmonitor.com/css/
    emailframe.work фреймворк в помощь.
    https://habrahabr.ru/post/106387/ грабли
    https://habrahabr.ru/post/60420/ рекомендации
    Ответ написан
    1 комментарий
  • Как пользоваться pug?

    werty1001
    @werty1001
    undefined
    он не компилирует код из туторіала

    Что на выходе? Ошибки? Вам точно нужна опция client: true?

    Также интересует как правильно их собирать.

    Зависит от структуры проекта. Обычно все делится на блоки.

    И что такое pug file, чем отличаеться от обичного jade?

    Ребрендинг, об изменениях можно почитать здесь.
    Ответ написан
    1 комментарий
  • Реализация поиска на ReactJs?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Что передавать - зависит от реализации рендера в вашем компоненте. Но если вы берете "весь текст" и фильтруете, то первое что приходит в голову - передавать "отфильтрованный текст".

    Если без "flux/redux/..." то с помощью событийной модели (например, в момент поиска происходит событие "поиск_изменен", а компонент где был весь этот текст слушает данное событие и рендерит только часть отфильтрованную, так как вы ее передали. Если не передали - рендерит все (как будто поиска не было, или поиск пустой))

    Если с flux/redux/... то действуйте в рамках подхода. Если говорить про redux - то просто отправьте action с фильтрованным "куском".
    Ответ написан
    2 комментария
  • Реализация поиска на ReactJs?

    risentveber
    @risentveber
    fullstack web developer
     Используйте какой-нибудь внешний event emmiter (например хранящий два поля - строка поиска и результаты), на изменения которого подписываются ваши компоненты, и выполняют setState исходя из соответсвующих значений этого объекта. Еще лучше посмотрите в сторону Redux - redux.js.org
    Ответ написан
    Комментировать
  • UI/UX developer?

    На themeforest покупаешь шаблон, садишь на вордпресс и ты супер UI/UX Дизайнер и UI/UX Разработчик, все зависит от масштаба студии и от масштаба проекта. "Мы делаем сайты за 1500р. у нас огромные команды UI/UX Дизайнеров и UI/UX Разработчиков, все тщательно продумываем и прорисовываем каждую деталь, изучаем потребителей и все все все, в течении года или месяца" в общем работаем Бесплатно.
    Ответ написан
    1 комментарий
  • UI/UX developer?

    gr1mm3r
    @gr1mm3r
    50% ответа в правильном вопросе. Остальное мануал.
    ux-vs-ui-dev-skills-expanded.png
    Думаю самое наглядное объсянение
    Ответ написан
    6 комментариев
  • Как получить индекс в массиве, зная значение?

    coderisimo
    @coderisimo Куратор тега JavaScript
    Ответ на вопрос - "Как получить индекс в массиве, зная значение?" :
    var boys= ["Vasya", "Petya", "Kolya"];
    
    //индекс вот здесь
    var a = boys.indexOf("Petya");
    Ответ написан
    Комментировать
  • Модальные окна и сео?

    Groov3
    @Groov3
    Full stack web developer/Performance marketing
    Бугага, ну что за глупости, 2015 год на дворе. Смело делайте любые всплывающие текста, если их реально найти и прочитать, если хотя бы значительный процент пользователей страницы его видит, можно даже 30%!

    Что не делайте:
    Не используйте JavaScript для того чтобы отображать невидимый в HTML-коде текст, просто на всякий случай, если Вы не инстраграмм, считайте, что это для вас слишком трудно, невозможно, я бы сказал.
    Ответ написан
    Комментировать
  • Модальные окна и сео?

    keslo
    @keslo
    Например, в Bootstrap код модульного окна вместе с текстом вписан на страницу. Т.е. все это видно поисковикам. По событию данный код показывается пользователю, но фактически уже присутствует в исходном коде.
    Ответ написан
    Комментировать
  • Модальные окна и сео?

    @l2p
    Если текст будет расположен в коде странице до нажатия, а после просто появится с помощью каких-нибудь show, то поисковик точно увидит, но такой способ все равно не предпочтителен.
    Если же сам текст будет добавляться через js, то поисковик не увидит его.
    Ответ написан
    Комментировать
  • Модальные окна и сео?

    myfirepukan
    @myfirepukan
    Жарим поиск
    Да будут если текст есть в коде страницы и не заключён в script и т.п. теги
    Вообще в поисковиках есть "Сохранённая копия" - сделайте эксперимент, посмотрите...
    Ответ написан
    Комментировать
  • Где найти практику верстальщику?

    День добрый!
    Вступайте в chat room и предлагайте свои идеи.

    Я нахожу скриншот старенького сайта и кидаю его в определённое время в chat room, затем все желающие его верстают и отправляют результат (желательно, приложить разъяснение своих действий, что бы менее опытные участники могли что-то для себя почерпнуть). В итоге мы должны определить макет, наиболее похожий на оригинал + самый легкий (по весу). Самое главное делать это ежедневно.
    Ответ написан
    4 комментария
  • Как вы делаете адаптивность на Друпале?

    afi13
    @afi13
    Вы можете использовать какой-либо front-end framework, например возьмите готовую тему Bootstrap или Zurb Foundation. Создайте для нее свою кастомную сабтему и меняйте все что вам надо. В обоих фреймворках без проблем можно сделать три колонки переходящие в одну, просто добавлением необходимых классов. Подробней можно посмотреть в документации Bootstrap и Foundation.
    В обратном случае используйте media. Подробней о responsive в Drupal можно прочитать в книге. Еще посмотрите статью на хабре
    Ответ написан
    1 комментарий