@react_js

Страница 761 из 5115
Kreizo
21.12.2016
13:16:01
ребят такой вопрос если делать авторизацию на стороне клиенте

в старом проекте все sdk загружались в head

для реакт + ридакс приложения лучше же всего их инкапсулировать когда нужно ?

если человек не авторизирован

Google
Andrey
21.12.2016
13:18:36
посоны. пдскажоите мне за декраторы для методов возвращающих промисы ? :)

проблема в том, что для таких методов не получается писать then на конце

я юзю https://github.com/developit/decko вот это для декораторов

Alexey
21.12.2016
13:20:39
просто не юзай декораторы, проблем не будет

Andrey
21.12.2016
13:21:44
так может тогда и лодаш не юзить ?

кстати с лодашевым дебаунсом такая же фигня ..

чото явно очень очевидное но чтото не приходит мне решение..

const debouncedFunc = _.debounce(myFunc, 1000); function mySuperFunc(key){ return Promise.resolve(key) .then(key => debouncedFunc) .then(result => { console.log(result); }); } хм... может так?

Alexey
21.12.2016
13:27:37
так может тогда и лодаш не юзить ?
странные у тебя выводы получаются

Andrey
21.12.2016
13:32:56
а я зеркально ответил

a
21.12.2016
13:39:42
вот пример, одна и та же менюха рисуется разными компонентами, на разных девайсах
в этом случае это разные компоненты, как визуально так и функционально, так что все правильно

Google
Vladimir
21.12.2016
14:10:02
А декораторы не в спеке

И пока даже не собираются там появиться

Andrew
21.12.2016
14:11:26
друззя, подскажите пжалста что за конструкция такая ... = (a) => (b) => { ... } ?

вот например

changeSlideText = (index) => (event) => { this.setState({ temp: set([ 'slides', index, 'text', ], event.target.value, this.state.temp, ), }); }

Andrew
21.12.2016
14:12:06
это я знаю

там 2 стрелки а не одна.

Alexander
21.12.2016
14:12:12
Каррирование

Andrew
21.12.2016
14:12:13
что это и зачем?

Дмитрий
21.12.2016
14:12:24
там 2 стрелки а не одна.
А что это меняет?

Alexander
21.12.2016
14:12:25
А вообще это просто две вложенные функции, че такого-то? )

Andrew
21.12.2016
14:12:27
где можно углУбиться в вопрос?

Дмитрий
21.12.2016
14:12:28
Aleksei
21.12.2016
14:12:46
Обычная функция высшего порядка

Andrew
21.12.2016
14:12:49
вот в данном конкретном случае зачем так сделано было?

Alexander
21.12.2016
14:12:50
где можно углУбиться в вопрос?
Да хоть с вики начать

Aleksei
21.12.2016
14:13:02
Функция, которая возвращает функцию

Дмитрий
21.12.2016
14:13:17
function changeSlideText(index) { return function (event) { this.setState ....

Google
Andrew
21.12.2016
14:13:18
я азы знаю

меня паттерн интересует

что он дает? какие профиты?

Gordey
21.12.2016
14:13:28
лучше так let result = "hello" |> doubleSay |> capitalize |> exclaim;

Alexander
21.12.2016
14:13:29
вот в данном конкретном случае зачем так сделано было?
Телепатов тут нет. Надо было чтобы возвращалась функция, значит

Gordey
21.12.2016
14:13:35
https://github.com/mindeavor/es-pipeline-operator/

Aleksei
21.12.2016
14:13:41
Дмитрий
21.12.2016
14:13:43
меня паттерн интересует
Забудь про паттерны)

Это обычный синтаксис

Aleksei
21.12.2016
14:14:08
Т9 молодец

Дмитрий
21.12.2016
14:14:28
лучше так let result = "hello" |> doubleSay |> capitalize |> exclaim;
Это круто, но вроде пока же даже не в proposal?

Andrew
21.12.2016
14:14:48
а чего через точку записать это нельзя было?

Aleksei
21.12.2016
14:14:48
что он дает? какие профиты?
Ты можешь вызвать функцию не сразу, а по этапам

Дмитрий
21.12.2016
14:15:05
а чего через точку записать это нельзя было?
Через какую точку?)) Ты уверен, что понял азы?)

Таймураз
21.12.2016
14:15:30
Например, в связке с redux, ты диспатчишь экшн, а тебе возвращается функция с результатом фетча в экшене

Дмитрий
21.12.2016
14:15:31
я про это
Это pipeline. Нет, через точку не лучше

Andrew
21.12.2016
14:15:51
т.е. в целом я могу написать и так ` ... = (a) => (b) => (c) => (d) => {...} если мне зачем-то это будет нужно?

Дмитрий
21.12.2016
14:16:04
Да

Нужно постоянно, например

Google
Andrew
21.12.2016
14:16:39
Это pipeline. Нет, через точку не лучше
ну если через точку, то там надо с this работать и возвращать this

Дмитрий
21.12.2016
14:16:49
Это никак не связано

Дмитрий
21.12.2016
14:17:29
т.е. в целом я могу написать и так ` ... = (a) => (b) => (c) => (d) => {...} если мне зачем-то это будет нужно?
В случае с одним аргументом можно скобки опустить, запись будет чище

Andrew
21.12.2016
14:17:56
Например, в связке с redux, ты диспатчишь экшн, а тебе возвращается функция с результатом фетча в экшене
теперь бы еще понять чем лучше вернуть функцию, возвращающую значение, чем просто вернуть значение, кроме всяких промисов

я пытаюсь понять зачем там так сделали

Admin
ERROR: S client not available

Таймураз
21.12.2016
14:18:30
Andrew
21.12.2016
14:18:42
там вообще без бэкенда проект

Andrew
21.12.2016
14:19:31
мерси, ушел курить бамбук, в смысле матчасть :)

Таймураз
21.12.2016
14:19:39
там вообще без бэкенда проект
Если вам интересен смысл применения именно в вашем проекте, то покажите, о каком идет речь

changeSlideText = (index) => (event) => { this.setState({ temp: set([ 'slides', index, 'text', ], event.target.value, this.state.temp, ), }); }
Тут генерится функция, которая будет передана как обработчик на кнопку или еще какой элемент

Andrey
21.12.2016
14:21:21
т.е. в целом я могу написать и так ` ... = (a) => (b) => (c) => (d) => {...} если мне зачем-то это будет нужно?
например в промисах, когда тебе надо в then передать функцию, но ты хочешь чтобы у этой функции уже был какой-то преднастроеный тобой скоуп :)

Andrew
21.12.2016
14:21:31
да у меня было собеседование, показали кусок реакт-кода, попросили прокомментировать. я в принципе везде разобрался, кроме этого момента

Vladimir
21.12.2016
14:22:26
я пытаюсь понять зачем там так сделали
ты знаешь что такое карирование?

Andrey
21.12.2016
14:22:35
это то же что и function AAA (a){ return function BBB(b) { return a+b }};

Google
Дмитрий
21.12.2016
14:23:01
ты знаешь что такое карирование?
Я уже отправил к авторам рамды)

Andrew
21.12.2016
14:23:03
Тут генерится функция, которая будет передана как обработчик на кнопку или еще какой элемент
т.е. функция, принимает index, генерирует функцию-замыкание, у которой index находится в родительском контексте, и эта функция уже принимает event и дальше что-то делает уже с Index и event'ом, причем делает отложенно?

Таймураз
21.12.2016
14:23:20
Понять каррирование- одно. Научиться его юзать где надо- другое

Vladimir
21.12.2016
14:23:26
const sum = curry( (a, b) => a + b )

Andrey
21.12.2016
14:23:29
Это задрочки чуваков из мира функционального программирования. Порой это не облегчает жизнь, но по другому делать не-удобно/невозможно :)_

Aleksei
21.12.2016
14:23:34
теперь бы еще понять чем лучше вернуть функцию, возвращающую значение, чем просто вернуть значение, кроме всяких промисов
Я же говорил, когда ты хочешь выполнить функцию поэтапно. Типа выполнить с первым аргументом, записать в переменную, а потом где-то еще вызвать со вторым аргументом. Это самый типовой случай применения каррирования

Andrew
21.12.2016
14:23:49
мне сдается мы о разном говорим тут

Vladimir
21.12.2016
14:23:56
sum(1, 2); // 3 sum(1)(2); // 3

Andrew
21.12.2016
14:24:28
прикольно

Andrey
21.12.2016
14:24:43
мне сдается мы о разном говорим тут
если ты конкретно про редукс. то такие конструкции необходимы для мидлваров редукса..

Vladimir
21.12.2016
14:24:51
вот подход ридакса

Andrew
21.12.2016
14:24:57
все де я думаю тот код про который я спросил index замыкает для последующей обработки евентов

Vladimir
21.12.2016
14:25:15
это карри без возможности вызвать функцию сразу со всеми аргументами

Дмитрий
21.12.2016
14:25:27
Чот меня самого уже замыкает

Andrew
21.12.2016
14:25:28
ок верю на слово, пошел дальше читать

Дмитрий
21.12.2016
14:25:40
Дальше пусть как-нибудь сам))

Таймураз
21.12.2016
14:26:23
Вот вроде передовая задача, а вспомнил, что мог красивее код оформить, используя каррирование

Andrew
21.12.2016
14:27:10
Дальше пусть как-нибудь сам))
в статье по твоей ссылке про Ramda

там непойми что и как под капотом

Страница 761 из 5115