
Alexander
10.02.2017
13:43:19

Sergey
10.02.2017
13:43:24

Сергей
10.02.2017
13:43:26

Алексей
10.02.2017
13:43:50
в смысле

Google

Сергей
10.02.2017
13:43:51
проще воспринимать когда там не 2-3 слова

Alexander
10.02.2017
13:44:16
По-моему все что мы тут насоветовали человеку со скриншотом, решается установкой конфига airbnb в eslint.

Сергей
10.02.2017
13:44:52
const result = long && condition.is()
? first.result().then(e => e.fetch())
: resolve.defaultValue()
vs
const result = long && condition.is() ?
first.result().then(e => e.fetch()).orThen(fal => refetch(fal, 1)) :
resolve.defaultValue()

Dmitriy
10.02.2017
13:45:15
первое

Алексей
10.02.2017
13:45:27
все равно второй лучше ?

Artur
10.02.2017
13:45:37

Сергей
10.02.2017
13:45:40
я однажды рефакторил такой код
со вторым вариантом
у меня горело пипец

Yakov
10.02.2017
13:45:41
не, первый круче

Алексей
10.02.2017
13:45:59
ну так типа видишь вопрос

Yakov
10.02.2017
13:46:08

Petr
10.02.2017
13:46:12
Без тернарников было бы лучше

Сергей
10.02.2017
13:46:17

Dmitriy
10.02.2017
13:46:27

Google

Сергей
10.02.2017
13:46:35

Джон
10.02.2017
13:46:49
когда такие длинные выражения

Алексей
10.02.2017
13:47:18
тогда придется let юзать

Джон
10.02.2017
13:47:32
ага

Алексей
10.02.2017
13:47:43
и в () => так проще

Petr
10.02.2017
13:47:44
Джон, поменяй body на children, и компонент сделай функцией

Алексей
10.02.2017
13:47:48
не надо return

Petr
10.02.2017
13:48:04
И будет заебок)

Джон
10.02.2017
13:48:06
еще не умею так

Alexander
10.02.2017
13:48:34
не бойся
у всех бывает первый раз

Сергей
10.02.2017
13:49:00

Джон
10.02.2017
13:49:04
типа export default Card = () =>
nfr?
так?

Сергей
10.02.2017
13:49:12
нет
const Card = (props) => (<div ...........)
Card.propTypes = {}
export default Card

Alexander
10.02.2017
13:49:43
опередил?

Google

Petr
10.02.2017
13:50:03
И пропсы spread operators

Dmitriy
10.02.2017
13:50:05
лайфхак как сделать if выражением
const state = (() => {
if (key === pagePathnamePointIndex) return pointStates.ACTIVE;
if (key > pagePathnamePointIndex) return pointStates.FUTURE;
if (key < pagePathnamePointIndex) return pointStates.PAST;
return pointStates.FUTURE;
})();

Сергей
10.02.2017
13:50:38
уж лучше do-expression или switch(true)
жаль, что if/else/else if не expression
сделали бы хотя бы блоки без {} возвращали значение
типа
const val = if (a == b) 0
else if (a > b) 1
else -1

Владимир
10.02.2017
13:52:35
Do expression только с поагином работает

Сергей
10.02.2017
13:53:16

Джон
10.02.2017
13:53:22
олрайт?
только про чилдрен не понял

Dmitriy
10.02.2017
13:53:35
классная штука do-expression

Сергей
10.02.2017
13:54:43

Alexander
10.02.2017
13:55:04
props.heading и props.body можно заменить на heading и body

Сергей
10.02.2017
13:55:15
ты пропы мог деструктурировать прямо в определнии функции:
const Card = ({ heading, children }) => (

Джон
10.02.2017
13:55:43
ой круто как
я это как бы все знаю, но еще не пользовал ) надо руку набить

Сергей
10.02.2017
13:56:10
почитай es6 )))

Alexander
10.02.2017
13:56:17
я бы не делал classes а заюзал classnames прямо в className

Dmitriy
10.02.2017
13:56:31
бесит что при ({ foo: { bar } }) будет доступен bar но не foo

Сергей
10.02.2017
13:56:52

Google

Alexander
10.02.2017
13:56:58
чому?

Сергей
10.02.2017
13:57:09
чому?
слишком длинная строка получится и не читаемо

Dmitriy
10.02.2017
13:58:08
и a === baz.foo?

Alexander
10.02.2017
13:58:31
да

Сергей
10.02.2017
13:58:51
угумс

Admin
ERROR: S client not available

Dmitriy
10.02.2017
13:59:43
можнно и без a

Сергей
10.02.2017
14:00:04
ну я пример показал ))
но да можно и напрямую
const { foo, foo: { bar } } =

Dmitriy
10.02.2017
14:00:17
но не понятно почему надо отдельно писать, интересны причины
типа я могу не хотеть foo
ну я могу его просто проигнорировать

Сергей
10.02.2017
14:00:41
а как ещё
Явно же, ты разбиваешь foo и забираешь из него только то что нужно
если он будет срать тебе в область видимости, будет плохо

Dmitriy
10.02.2017
14:01:07
это более очевидное поведение
имхо

Сергей
10.02.2017
14:01:14
ни разу

Dmitriy
10.02.2017
14:04:25
ну скажем так, когда я первый раз увидел вложенный дестракчеринг, меня это удивило
я не думаю что я такой уникальный

Джон
10.02.2017
14:05:09

Google

Сергей
10.02.2017
14:07:56

Adel
10.02.2017
14:19:44
а вы тут уже обсждали, что дестракт для аргументов и при присваивании работают по разному?

Сергей
10.02.2017
14:20:42
нет вроде

Dmitriy
10.02.2017
14:29:16
вроде похоже https://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=es2015%2Ces2015-loose%2Ces2016%2Ces2017%2Clatest%2Creact%2Cstage-0%2Cstage-1%2Cstage-2%2Cstage-3&targets=&browsers=&builtIns=false&code=const%20baz%20%3D%20%7B%20foo%3A%20%7B%20bar%3A%20'hello'%20%7D%20%7D%3B%0Aconst%20%7B%20foo%2C%20foo%3A%20%7B%20bar%20%7D%2C%20foo%3A%20a%20%7D%20%3D%20baz%3B%0A%0Aconst%20qux%20%3D%20(%7B%20foo%2C%20foo%3A%20%7B%20bar%20%7D%2C%20foo%3A%20a%20%7D)%20%3D%3E%20%7B%0A%20%20console.log(eval('_ref'))%3B%0A%7D%3B%0A%0Aqux(baz)%3B

Сергей
10.02.2017
14:30:52
так это из-за бабеля только
одна из множества причин не использовать eval
вот такое не прокатит уже и норм
нативно всё ок

Adel
10.02.2017
14:33:29
меня больше всего удивило, что нельзя делать (options: {someOption, anotherOption}, forced) => ...

Сергей
10.02.2017
14:34:02
можно же

Adel
10.02.2017
14:34:05
при этом при присваивании можно все
чет ни получается
у тебя получается?
ща доберусь до твердой поверхности скину пример

Сергей
10.02.2017
14:34:31
const foo = ({ a, b }, forced) => {}