
Andrey
09.08.2018
05:51:41

Дмитрий
09.08.2018
05:51:45
Берешь джест с энзимом, клепаешь скринов и в матчер, если % несовпадений выше заданного — бьешь тревогу

Andrey
09.08.2018
05:52:17

Max
09.08.2018
05:52:21

Google

Andrey
09.08.2018
05:52:32

Max
09.08.2018
05:53:05

Andrey
09.08.2018
05:53:10
Стейт находится снаружи и является частью логики, которая живёт в отрыве от реакта.
И, следовательно, прекрасно тестируется.

Max
09.08.2018
05:53:31

Vladislav
09.08.2018
05:53:58
А тут уже жара сутра пораньше)

ed
09.08.2018
05:54:00

Andrey
09.08.2018
05:54:11

ed
09.08.2018
05:54:19
Вроде же уже давно реакт проапдейтили и стали топить за стейт и fetch внутри компонентов если это нужно
Уменьшение сложности. Поясню ниже.
Если у меня есть маленький дропдаун который работает со своим методом на беке и показывается только на 1 странице и его данные больше никому не нужны, это тоже стейт снаружи?

Max
09.08.2018
05:54:55

Oleg ?
09.08.2018
05:55:40

Andrey
09.08.2018
05:55:54

Google

Andrey
09.08.2018
05:56:18
Крассический MVVM. Реакт отвечает только за рендеринг. В нём никакой логики нет.

Oleg ?
09.08.2018
05:56:49
Солидарен ?

Max
09.08.2018
05:57:10
Ребята, формы свои покажите, плиз

Oleg ?
09.08.2018
05:57:42
Я не такая

Roman
09.08.2018
05:58:26

ed
09.08.2018
05:58:37
Годы прошли, а проблемы все теже)

Roman
09.08.2018
05:58:46

Andrey
09.08.2018
05:59:06

Oleg ?
09.08.2018
05:59:17
Как на счёт GraphQL? Там эта проблема решается?

Andrey
09.08.2018
05:59:32
Только стейт находится снаружи.

Max
09.08.2018
05:59:33

Andrey
09.08.2018
06:00:07

Max
09.08.2018
06:01:28
А зачем?
так с этого же и началось, я хочу например, быть уверен, что если кто-нибудь снимет onChange (ну я хз, что придумать, опечатку там внесет в название функции или что-то еще) - то сразу тест упадет

Andrey
09.08.2018
06:01:52

Max
09.08.2018
06:02:20

Andrey
09.08.2018
06:02:33
Тестировать компоненты кроме как в e2e бесмысленно.

Max
09.08.2018
06:03:45

Google

Max
09.08.2018
06:04:53
Опечатки контролируются типизацией.
я пока такой кейс придумал: например в data-* атрибуте хранится что-то нужное, что потом в функции-обработчике считывается. И если дата атрибут изменить, то получится что значение будет считано не корректное, и в итоге тест это может показать

Andrey
09.08.2018
06:13:47

ed
09.08.2018
06:13:49

Max
09.08.2018
06:14:20
data атрибуты не нужны.
тогда пока останемся при своих мнениях, видимо; слишком сильно различаются толи уровни, то ли подходы

Artyom
09.08.2018
06:29:32
Где-то слышал что новый вордпрес на реакте - это правда?

Дмитрий
09.08.2018
06:30:04
Сейчас уже и ExtJS на реакте

Artyom
09.08.2018
06:30:19
Ну это о разном
Вордпрес же можно как цмс использовать?

Nikita
09.08.2018
06:31:12
Можно

Max
09.08.2018
06:32:17

Artyom
09.08.2018
06:32:27
Аа =(

Roman
09.08.2018
06:32:55
я не знаю, что такое Calypso в вп, но вот
Calypso uses a thin layer of Node.js on the server to build the initial web page, and much of the logic is run in the client as a Single Page Application (SPA) built in-house, leveraging many other open source JavaScript modules. Calypso adopted Facebook's React view library early on, and has been heavily influenced by other open source work in the React community.

Daniyar
09.08.2018
06:54:10
ребята, куда лучше вынести общие для компонентов функции (закрытие по esc, фокусирование по input-ам, и тд) ?
я так понял композиция в данном случае не совсем подходит

Denis
09.08.2018
06:57:36
Тесты для компонентов лучше хранить в отдельно папке проекта или создавать папку tests для каждого компонента и контейнеров?

Hari
09.08.2018
06:58:50

Max
09.08.2018
07:01:21

Denis
09.08.2018
07:01:38
Спасибо!

Кирилл
09.08.2018
07:08:52
Короче. Есть функция которая создается где-то при инициализации приложения. Как ее правильнее всего пробросить во все части приложения?
React.Component.prototype.myfunc = …
или создать отдельный компонент который будет принимать функцию отдающую контент и в этот контект пробрасывать мою функцию типа
<MyComponent content={
(myfunc) => <View>....</View>
} />
?

Google

Кирилл
09.08.2018
07:10:20
проблема первого подхода это жуткий хак и так неправильно потому что неправильно
проблема второго это надо везде писать такую конструкцию

Roman
09.08.2018
07:11:40

Кирилл
09.08.2018
07:12:18
то есть второй вариант?

Roman
09.08.2018
07:12:31

Кирилл
09.08.2018
07:13:34
удобнее то первый но это плохая практика, вроде?

Roman
09.08.2018
07:13:54

pepsi ¯\_(ツ)_/¯
09.08.2018
07:16:06

Кирилл
09.08.2018
07:16:25
Нет, она создается

Кирилл
09.08.2018
07:17:09

Кирилл
09.08.2018
07:17:12
Ну типа myfunc = myotherfunc.bind(null, some, params, that, i, dont, want, to, pass, anywhere)

Admin
ERROR: S client not available

pepsi ¯\_(ツ)_/¯
09.08.2018
07:19:47
Ну типа myfunc = myotherfunc.bind(null, some, params, that, i, dont, want, to, pass, anywhere)
кроме все остального, ты можешь создать singleton, с одним методом, который функцию твою создаёт, потом этот синглтон можно ипортировать везде и созданную функцию вызывать

Кирилл
09.08.2018
07:20:26
А где она в таком случае будет хранится?

pepsi ¯\_(ツ)_/¯
09.08.2018
07:20:53
в замыкании

Кирилл
09.08.2018
07:22:44
? надо попробовать
спасибо

gnoblin
09.08.2018
07:41:24
Привет! Подскажите, если у меня есть рядом два тега компонента - первый считает значение, второй должен его использовать. Могу я выкинуть проп из первого наверх же?

Irina
09.08.2018
07:44:05

Natasha
09.08.2018
07:53:52

Roman
09.08.2018
07:56:15

Google

Mark
09.08.2018
07:57:28
Насколько плохо сразу подключать весь стейт в компоненты?
Структуризация говно и не разрешают переделывать, поэтому часто такое, что в компоненту подключается хренова туча данных из стейта и выглядит это так себе

Roman
09.08.2018
07:57:45

Mark
09.08.2018
07:58:48

Roman
09.08.2018
07:59:13

Eugene
09.08.2018
07:59:37
store => store типа такого?)
Было такое от прошлого чувака, но как-то неловко себя чувствую когда в пропсах весь стор, поэтому ток нужное вытягиваю в mapStateToProps

Mark
09.08.2018
08:00:54
mapStateToProps не юзается чтоль?
Да в том-то и дело, я хочу вынести, пушо там много, но мне не разрешают, мол и так хорошо, а выглядит это
state => ({
...state,
bla: bla,
bla: bla,
.... too much
})

Roman
09.08.2018
08:02:28
Ох уж этот японский консерватизм

Eugene
09.08.2018
08:03:10
const mapStateToProps = store => store
было вообще так лол

Roman
09.08.2018
08:03:26

Mark
09.08.2018
08:03:45
Я сильно психую, сделал тултип, отличный тултип, всем тултипам тултип
Сказали, что тултип как тултип нам не нужен, давай просто запилим его с хардкод текстом ?

Eugene
09.08.2018
08:04:24

Mark
09.08.2018
08:04:28
Ну я все понимаю, ну а нахера мы тогда вообще пользуемся реактом (преактом), если нам не нужны динамические компоненты?

Дмитрий
09.08.2018
08:04:34

Mark
09.08.2018
08:05:05

Дмитрий
09.08.2018
08:05:21
Это не противоречит)

Roman
09.08.2018
08:05:23

Mark
09.08.2018
08:05:53
Мне срочно нужно начать делать свое приложение, ибо я тут чекнусь и привыкну к такому, а как жить потом...

Eugene
09.08.2018
08:05:54

Alexey
09.08.2018
08:06:11
привет, а кто может подсказать хороший календарь, который можно было бы открывать по кастомному элементу? например по иконке, а то большенство элементов открвыается с помощью инпута

Mark
09.08.2018
08:06:27
?захардкодь в props
Та ну я все, я уже ничего не хочу крутого тут пилить, просто буду делать как быстрее и хватит

Игорь
09.08.2018
08:07:13