• Что взять для фронтенда?

    @KnightForce
    React позволит тебе сложное делать просто, - но сперва придется его понять.)
    Ответ написан
    Комментировать
  • Как вернуть значение добавленого элемента?

    @KnightForce
    Чтобы получить элемент - используй ref :
    <div ref={(elemDOM)=>{this.newEl=ElemDOM}}/>

    Так получаешь - потом делаешь что хочешь.)
    Ответ написан
    Комментировать
  • Как выполять render с задержкой?

    @KnightForce
    setTimeout(()=>{
        //Код - контекст привязал через стрелочную функцию
    }, 5000)
    Ответ написан
    Комментировать
  • Возможно ли обратиться к state компонента в actions redux?

    @KnightForce
    Есть форма и ее компоненты - собирай все изменения в state формы, а потом весь пул диспатч.
    Потомки могут менять state родителя, если передать функцию.
    Ответ написан
    Комментировать
  • В чем сила redux-actions?

    @KnightForce
    Абстрактно: У тебя есть 1 узел слева на вложенности 500 узлов, 2 узел на вложенности 1000 и третий на 700, все в 3 разных направления и необходим, чтобы они работали синхронно от данных. И вот тут у тебя есть единый контейнер от которого и получаешь данные. А чтобы не передавать через цепочку props - используй контекст.

    А также гарантия что все синхронно обновится. Везде доступны одни и те же данные.
    Не нужно выстраивать цепочку обновлений через изменение родительского state.
    Ответ написан
    Комментировать
  • Как можно импортировать JQuery в React Native?

    @KnightForce
    Как-то так.
    Установить:
    npm install --save jquery .

    Использовать:
    import jQuert from jquery;
    Ответ написан
    Комментировать
  • Хранить actions в context норма или нет?

    @KnightForce
    Про контекст:
    https://habrahabr.ru/post/266407/

    Теперь сам использую пробрасывая данные и функции для диспатча.
    Ответ написан
    Комментировать
  • Как отключить путешествие во времени в redux?

    @KnightForce
    Попробуй PureComponent.
    А в целом, обновляется только то где изменились данные, если только ты не пишешь при получении в state.
    Ответ написан
    Комментировать
  • Где в React/Redux/Saga сравнивать полученные данные с хранилищем?

    @KnightForce
    В редьюсере.
    Ответ написан
    Комментировать
  • Зачем нужен redux?

    @KnightForce
    Абстрактно: У тебя есть 1 узел слева на вложенности 500 узлов, 2 узел на вложенности 1000 и третий на 700, все в 3 разных направления и необходим, чтобы они работали синхронно от данных. И вот тут у тебя есть единый контейнер от которого и получаешь данные. А чтобы не передавать через цепочку props - используй контекст.
    Написано только что
    Ответ написан
    Комментировать
  • Как правильно передать props через атрибут value в React?

    @KnightForce
    Без остального кода только догадки.

    Используешь button - то есть это самый базовый уровень компонента.

    Если this.showChart у тебя выглядит так:
    showChart(value) {
    
    }


    То в value у тебя передастяся event объект, который представляет событие.
    Если хочешь по клику что-то делать с value - должно быть как-то так:
    1. вариант.
    showChart(e) {
        //Не забудь ее сбиндить
        alert(this.props.yearStat.value)
    }
    render() {
        return(
            <button onClick={this.showChart}>Капитализация</button>
        )
    }


    2 вариант.
    showChart(value) {
        //Не забудь ее сбиндить
        alert(this.props.yearStat.value)
    }
    render() {
        return(
            <button onClick={()=>{this.showChart(this.props.yearStat.value)}}>Капитализация</button>
        )
    }


    3 вариант.
    showChart(value) {
        //Не забудь ее сбиндить
        alert(this.props.yearStat.value)
    }
    
    handlerClick(e) {
        //Не забудь сбиндить, или привязать контекст стрелочно, иначе потеряешь контекст 
        this.showChart(this.props.yearStat.value);
    }
    
    render() {
        return(
            <button onClick={this.handlerClick}>Капитализация</button>
        )
    }
    Ответ написан
    Комментировать
  • Что использовать React+flux+request или angular 4?

    @KnightForce
    React справится.
    Я не использовал Angular, но в сравнении с jQuery - React намного лучше. Позволяет легко вытворять такое крутое, что на jQuery сложно реализовать.

    Это как использовать для стилизации страницы только html атрибуты, а потом начать использовать css.)
    Ответ написан
    Комментировать
  • Как правильно использовать state в React в связке с Redux?

    @KnightForce
    От ситуации зависит.
    Был компонент, который зависел от своих же данных - использовал state.
    Но потом понадобилось добавить второй и чтобы они были синхронизированы - вот тут пришлось использовать store приложения.
    Ответ написан
    Комментировать
  • React Native не запускается на эмуляторе?

    @KnightForce Автор вопроса
    Все дело в том, что, если ставить, как написано в официальной документации - ставится jre, а нужно jdk + прописать переменную среды JAVA_HOME.
    Ответ написан
    Комментировать
  • Причина дублирования элемента из props.children при React.cloneElement(child)?

    @KnightForce Автор вопроса
    Проблема здесь:
    return cloneElement(child, Object.assign({}, props));


    А именно в Object.assign({}, props)

    Так как children находятся в props, а здесь я его пробрасывают в потомка (который по сути и находится в children) - происходит дублирование.
    Ответ написан
  • Используют ли React как шаблонизатор в Node?

    @KnightForce
    Использовал его как шаблонизатор - рендерил в строку, было вполне удобно.)
    Ответ написан
    Комментировать
  • Что такое Redux простыми словами?

    @KnightForce
    Чтобы понять как работает Redux тебе нужно норм вкуривать React.
    Хотя бы для того, чтобы не пугаться props.

    Есть у тебя React. Это все просто JS объекты.
    <Component /> - так позволяет писать движок jsx, который и React его использует.
    Так как структура компонентная, ты должен думать как обновить компоненты в в другой части страницы.

    Принцип такой: компонент обычно обновляется при получении новых свойств - props или когда меняется его объект состояния - state.

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

    Что делает Redux:
    Он не призывает отказываться от state.

    Но есть общий контейнер данных. И когда данные меняются - меняются и компоненты, которые отображают именно эти данные.

    Когда нужно что-то поменять - вызываешь dispatch - специальная функция reducer реагирует на это - и меняет данные как тебе нужно. Когда данные заменятся - компонент Propvider - вызывает рендер у своего дочернего компонента (тот что оборачивает Provider).
    Например:
    <Provider>
       <MyComponent />//Вот сюда Provider пробросит (запишет) новые props.
    </Provider>


    Записывает он это самое глобальное хранилище и все компоненты, для которых поменялись данные - перерисуются.

    mapStateToProps - указывает какую часть этого глобального хранилища будет предоставлять provider.
    Если у тебя оно такое:
    {
       chunkStore: {},
       some: {}
    }

    То если mapStateToProps вернет{store: store.chunkStore}то Provider в props своего потомка пробросит такое: store: store.chunkStore. И ты будешь обращаться внутри к store, но там будет только часть chunkStore (не весь объект, а его поле).

    mapDispatchToProps - т.к. subscribe нет, то это возвращает функции, которые могут внутри себя вызывать dispatch().

    action - описывает то что и на что ты хочешь поменять. Какое поле и какие данные туда поместить.
    Ответ написан
    Комментировать
  • Webpack + Sass. Проблема с путями при использовании на сервере?

    @KnightForce Автор вопроса
    Пофиксил - сменив путь в file-loader.
    Ответ написан
    Комментировать
  • Поиск и сортировка товара средсвами css + js без БД?

    @KnightForce
    На JS нужно получать все товары и по ним фильтровать.
    Допустим у тебя 200 столов. 100 на 3 ногах, 200 на 4. 50 с квадратной крышкой, 150 с круглой.
    Все это выглядит, например, так:
    var tables = [
        {
            legs: 4, //Ножки стола
            cap: "squard" //Вормы крышки
        }
    ];
    // В массиве типа 200 элементов
    function sorting(params) {
        //объект с параметрами сортировки, типа "cap": "squard"
      
        return tables.filter((item)=>{
            let counter = true;
            for(let key in params) {
               counter =  (item[key]==params[key]);
               if(!counter) return false;
            }
            return true;
        }); 
    }


    Это очень абстрактно, для примера.
    И выводи.
    Ответ написан
    Комментировать