
Valeriy
13.06.2018
19:34:33

Sander
13.06.2018
19:34:33
@goodmind

Valeriy
13.06.2018
19:34:38
углификация там есть?

andretshurotshka?❄️кде
13.06.2018
19:34:43
хз

Google

Sander
13.06.2018
19:35:12
хз
оно нормально работает если вот так делаю:
const Table = {
Row: () => <div>Qqq</div>,
Cell: () => <div>Www</div>,
}

Anton
13.06.2018
19:35:19

andretshurotshka?❄️кде
13.06.2018
19:35:19
у тебя Row не классом?

Anton
13.06.2018
19:35:31

Sander
13.06.2018
19:35:33
const TableRow = () => <div>TableRow</div>
export class Table {
static Row = TableRow
}

Valeriy
13.06.2018
19:35:40

Anton
13.06.2018
19:35:53
ну я с нуля делал

Valeriy
13.06.2018
19:36:46
я вот так делаю в них
там каждый параметр с болью впихнут
полное удаление комментариев и все такое
специально оставил нетронутыми названия функций, так надо было

Google

andretshurotshka?❄️кде
13.06.2018
19:39:37

Sander
13.06.2018
19:39:38
хз
class TableRow extends React.Component {
render() {
return 'TableRow'
}
}
export class Table {
static Row = TableRow
}
не помогло тоже

Дмитрий
13.06.2018
19:39:57
почти отедльный мир
Если бы стейт-менеджеры были автомобилями, то d3 был бы драгстером, ультра мощным монстром строго для одной задачи

andretshurotshka?❄️кде
13.06.2018
19:39:59
ну хз, пиши отдельные компоненты)

Anton
13.06.2018
19:40:00
спасибо, сейчас попробую.
но это не спасет — роуты всё равно нужно

Дмитрий
13.06.2018
19:40:18

Ruslan ?
13.06.2018
19:40:25

Valeriy
13.06.2018
19:40:55
все остальное настолько незначительно после gzip, что обращать на это внимание просто не стоит

Anton
13.06.2018
19:42:10
Спасибо.

Sander
13.06.2018
19:42:16

Ruslan ?
13.06.2018
19:43:55
"не красиво", "не удобно" - делай по-нормальному: отдельными компонентами

Valeriy
13.06.2018
19:44:12
кстати, часто бывает полезно иметь отладочную инфу в сбилденном проекте о бранче, коммите, времени коммита
лично я делаю так
const [COMMIT_TIME, COMMIT_HASH, BRANCH] = execSync('git log --oneline --pretty="%ad;%h;%d" --date=iso -1').toString().trim().split(';')
в вебпак конфиге
ну и скармливаю плагину это
new webpack.DefinePlugin({
'ENV': JSON.stringify(process.env.NODE_ENV),
'COMMIT_TIME': JSON.stringify(COMMIT_TIME),
'COMMIT_HASH': JSON.stringify(COMMIT_HASH),
'BRANCH': JSON.stringify(BRANCH),
}),

Google

Anton
13.06.2018
19:46:16
У меня так хранится ENV, и сервер-сайд/клиент-сайд
ветка всегда очевидно по домену, куда вылилось
комит — в пайплайнах гитлаба выливка происходит, так что в бандл не вношу

Ruslan ?
13.06.2018
19:47:56

Valeriy
13.06.2018
20:01:05

from
13.06.2018
20:02:50
автоматический вызов методов компонента по ключам стейта, дополнительные лайфсайклы....
идея с транзишнами интересная впрочем
и странный компонент <Action show="methodName" /> который по ходу на самом деле просто <If />

Valeriy
13.06.2018
20:11:28
final state machine
по-русски конечный автомат
для управления конечным кол-вом состояний

from
13.06.2018
20:12:20
Я про то, что неочевидно кто и как дёргает методы компонентов

Дмитрий
13.06.2018
20:12:22
fsm в чистом виде страдают от комбинаторного взрыва

from
13.06.2018
20:12:35
и это тоже

Valeriy
13.06.2018
20:12:40
вот взять простой автоответчик

Дмитрий
13.06.2018
20:12:54
fsm — это таблица переходов

Valeriy
13.06.2018
20:13:01
пройти по меню туда сюда обратно
что там взрывного?

Дмитрий
13.06.2018
20:13:18
Число вариантов использования растёт квадратично от числа позиций)

Google

Дмитрий
13.06.2018
20:13:23
А больше ничего

Valeriy
13.06.2018
20:14:26
redux утрированно можно привести к FSM
любые тест кейсы

Дмитрий
13.06.2018
20:15:26
Тогда почему не привели
Любой машинный код можно привести к fsm, вопрос только какой ценой

Valeriy
13.06.2018
20:18:54
в общем, смысл FSM в том, что если ты хочешь получить строго контролируемый бесперебойный процесс, то ты должен спроектировать конечный автомат, который будет реагировать на любую штатную и внештатную ситуацию

Дмитрий
13.06.2018
20:22:48
Число штатных, и особенно нештатных ситуаций растёт квадратично от числа кейсов. Энджой)

Artyom
13.06.2018
20:24:04
Два умных человека рассказывают друг-другу основы информатики :)
fsm разных типов бывают, поэтому и редакс как-то КА, вот и все

Дмитрий
13.06.2018
20:24:36
Казалось бы что может пойти не так

Admin
ERROR: S client not available

Дмитрий
13.06.2018
20:25:09
Я щас очень жалею что прогуглял весь семестр конечных автоматов подчистую))
Ходил на дискретку, поэтому рисую графы ¯\_(ツ)_/¯

Artyom
13.06.2018
20:26:08
Перепрыгнул ?

Дмитрий
13.06.2018
20:26:54
Не, дискретка на 2 курсе, конечные автоматы на 4, чтобы не пугать младшекурсников)

Andrew
13.06.2018
20:28:10
конечные автоматы мили и мура
помню как делал для него схемы

Дмитрий
13.06.2018
20:30:56
Мили свой чел, мур не нужен

Andrew
13.06.2018
20:34:57
блин где же я читал что стримы это для лохов которые не могут в конечные автоматы

Google

Andrew
13.06.2018
20:35:04
хммм

Valeriy
13.06.2018
20:36:15

Дмитрий
13.06.2018
20:36:20
А конечные автоматы это, естественно, для лохов, которые не могут в стримы ? Конкурирующие теории

Valeriy
13.06.2018
20:36:43
чтобы стримы работали без сбоев нужно придумать конечный автомат :))

Andrew
13.06.2018
20:36:59
я мб из контекста вырвал, не могу сейчас вспомнить где это читал

Дмитрий
13.06.2018
20:37:26
Я не то чтобы за стримы, просто это нормально, что вот такой дуализм получается

Valeriy
13.06.2018
20:38:18
ну элементарно же
что такое стрим?
это процесс установки соединения, контроля состояния соединения, получения данных и обработка, валидация даты, обратная связь, использование данных, завершение сеанса стрима
ну чем не конечный автомат черт возьми?

Дмитрий
13.06.2018
20:38:32
И оба они, естественно, используют графы чтобы описывать себя
?
Дискретка рулит

Valeriy
13.06.2018
20:39:14
чтобы постоить граф тебе порой проще сначала нарисовать схему
иначе запутаешься

Andrew
13.06.2018
20:39:29

Valeriy
13.06.2018
20:39:29
и забудешь что-нибудь учесть

Andrew
13.06.2018
20:40:54
ну да у стрима есть конечные состояния

Artyom
13.06.2018
20:41:20
У всего есть конечные состояния, т.к. все ограничено типами

Andrew
13.06.2018
20:42:05
блин конечное состояние стрима !== конечное стостояние автомата

Valeriy
13.06.2018
20:42:26
стрим начинается с создания коннекта и заканчивается закрытием коннекта

from
13.06.2018
20:42:59
интересно а есть какие-то статьи сравнивающие эти два подхода в контексте разработки интерфейсов