
anoru
24.05.2017
17:20:41
Да не, тут все понятно. Перерендер не вызывается или store.chatStatus никогда не равен loaded

Amon Bower
24.05.2017
17:21:49
Я объясню так)
Есть раздел главной. Если чат грузится или нету собеседников, то <LoadingBlock>. Если есть собеседник, отображать все чилдрены. Однако, если нету собеседника, но я решил войти в раздел "Мой аккаунт", то отображать роут /account

Konstantin
24.05.2017
17:23:30
А теперь запиши это правильным условием

Google

Amon Bower
24.05.2017
17:24:30
Просто вопрос: "Как мне вытащить только /account из children?"

Konstantin
24.05.2017
17:24:39
оператор || вернет true если хоть один из них равен true; в других случаях вернет false.
У тебя оба false

Amon Bower
24.05.2017
17:25:09
Условие то есть и оно пашет. Все отлично. Но он пытается 2 раздела отрендерить.

Konstantin
24.05.2017
17:25:55
Когда выполнилось первое условие, компонент делает ререндер. Как тогда ему отрисовать то, что ты хочешь?
Запрети ему апдейтится

Сергей
24.05.2017
17:26:36
о лол

Konstantin
24.05.2017
17:27:04
Или напиши проще: chat === true && begin chat

Сергей
24.05.2017
17:27:23

Konstantin
24.05.2017
17:27:32

Сергей
24.05.2017
17:27:41

Google

Max
24.05.2017
17:27:50

Konstantin
24.05.2017
17:28:06
Мужики, читаем мануал :)

Сергей
24.05.2017
17:28:12

Konstantin
24.05.2017
17:28:31
У него там true / false
А не стринги и намберы

Сергей
24.05.2017
17:28:57

Amon Bower
24.05.2017
17:28:59
У меня там если один из них тру, значит выводить children

Konstantin
24.05.2017
17:29:37

Сергей
24.05.2017
17:30:35

Konstantin
24.05.2017
17:31:01
Сделай сравнение с тру/фолс с твоим же примером пжлст
И скинь скрин

Сергей
24.05.2017
17:31:11
facepalm
сравни false || 'foo'
или 'foo' || true
что будет?

Konstantin
24.05.2017
17:32:01
В данном случае только тру и фолс
Я знаю что будет в других случаях

Сергей
24.05.2017
17:32:37
мне вот так объясняли, и я довольно долго думал что || и && возвращает тип boolean

Konstantin
24.05.2017
17:35:25
Boolean(cond1) || Boolean(cond2) тебя устроит?

Google

Amon Bower
24.05.2017
17:36:18
На ошибки не обращай внимание

Александр
24.05.2017
17:42:16
меня тут недавно стало терзать ощущение, что использование этих || и && вместо православных ифов - это, конечно, удобно, но, в итоге, заведёт в ад))
тернарники ещё куда ни шло, конечно..

Oleg ?
24.05.2017
17:43:31

Petr
24.05.2017
17:44:12
Можно, но в меру

Konstantin
24.05.2017
17:44:22

Oleg ?
24.05.2017
17:45:19
Просто это вам не привычно)

Александр
24.05.2017
17:46:25
почему непривычно?
я к чему - там неявное приведение типа к булевому происходит - а с этим в жс лучше не шутить))

Konstantin
24.05.2017
17:48:36
Вот к чему это приводит

Max
24.05.2017
17:48:54

Александр
24.05.2017
17:49:35
не заведет.
я тоже склоняюсь разумом, что это паранойя, но от этого не легче)

Denis
24.05.2017
17:53:02

Sergey
24.05.2017
18:15:44

Mike
24.05.2017
18:16:57
я так понял, что он про { isSignedIn && <Profile /> }

Max
24.05.2017
18:17:38
{ isSignedIn && <Profile /> }
тут главное помнить как раз что иногда бывает в первой части 0
и тогда выведется 0
например если
{ somearray.length && <Profile /> }

Google

Max
24.05.2017
18:18:32
я поэтому пишу всегда
{ !!isSignedIn && <Profile /> }
Это опять же к вопросу понимания как работает &&

Александр
24.05.2017
18:20:26

Konstantin
24.05.2017
18:21:16

Max
24.05.2017
18:21:37
!! быстрее писать

code4aman
24.05.2017
18:21:47
nested trenary имхо норм если читабельно

Admin
ERROR: S client not available

Denis
24.05.2017
18:22:13
если не нравятся тернарные операторы, то можно вынести логику перед рендером

code4aman
24.05.2017
18:22:18
иногда читабельней чем два стейтмента или промежуточные перменные

Max
24.05.2017
18:22:30
за nested ternary надо бить линейкой по рукам
no-nested-ternary в еслинте мастхев

Sergey
24.05.2017
18:23:06

Александр
24.05.2017
18:24:20
старый добрый ifelse, от него никто не умирал))
шутка

Max
24.05.2017
18:24:35
в JSX? :)

Олег
24.05.2017
18:25:13
в реакте нормальных условий не планируют еще?

Александр
24.05.2017
18:25:21
мммм, ну да, от jsx лучше не отказываться..

code4aman
24.05.2017
18:25:48
!angular

Valentin
24.05.2017
18:48:19
Посоветуйте, как реализовать <select>, если есть таблица "Страницы" в БД. Каждая страница может иметь подстраницу(-ы).
Схематичная структура данных:
[
{
'id': 1,
'title': 'First title',
'children': [
... nested table 1,
'children': [ ... nested table 2 ]
]
}
] ...
Нужно что бы <select> имел древовидную структуру, что бы было понятно какая страница к какой пренадлежит.

Roman
24.05.2017
19:14:40
я так понял, что он про { isSignedIn && <Profile /> }
даже если <Profile/> отобразить незалогиненному пользователю, сервер же нельзя обмануть простым запросом неавторизованным пользователем. Т.е. с точки зрения безопасности приведённый пример не является элементом защиты, а лишь вопрос организации UI

Google

Mike
24.05.2017
19:15:44
да не в том дело, а в том, что это приводит (по мнению автора коммента опять же) к тому, что код становится говном неподдерживаемым, потому что невнятно читается и неочевидно работает, по сравнению с ифами
но мб я не так понял

Denis
24.05.2017
19:15:53
а структуру сделай плоской
а при рендере пройдись рекурсией по всем чайлдам

Valentin
24.05.2017
19:20:26
а при рендере пройдись рекурсией по всем чайлдам
Да, вот с рекурсией и есть основная проблема.
class TreeOptions extends Component {
render() {
const children = this.props.page.children.map(page => <TreeOptions key={page.id} page={page}/>)
return (
<option key={this.props.page.id}>{this.props.page.title}</option>
{children}
)
}
}
не знаю как эти option обернуть.

Denis
24.05.2017
19:25:41
метод renderCategories

Valentin
24.05.2017
19:25:59

Vitaliy
24.05.2017
19:54:16
ребят, кто выкатывал пакеты в npm? есть какая то инструкция чекаво? просто непонятно это в итоге размещается у них где то или же они тянут пакет с гита? ну и еще всякие мелочи типа - выкатывать скомпиленное или как?
почти дописал компонент, хочу туда вылить

Сергей
24.05.2017
19:55:48
travis, coveralls
попробуй npm pack и посмотри что будет в пакете

Vitaliy
24.05.2017
19:56:32
во блин, про тесты я чет даже как то не подумал, пасип

Сергей
24.05.2017
19:56:39
если делаешь билд, не добавляй сорцы в пакет .npmignore -> src
в .gitignore -> dist
в .npmignore -> !dist