@react_js

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

Max
09.08.2018
05:52:21
Работа компонента - отображать содержимое.
ок, то есть тестировать, что по ченжу в такой-то инпут происходит изменение стейта - вы смысла не видите, и следовательно - не надо так делать. Верно я понял?

Google
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
А тут уже жара сутра пораньше)

Andrey
09.08.2018
05:54:11
Весь стейт вне компонентов? Зачем все это?
Уменьшение сложности. Поясню ниже.

ed
09.08.2018
05:54:19
Вроде же уже давно реакт проапдейтили и стали топить за стейт и fetch внутри компонентов если это нужно

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

Max
09.08.2018
05:54:55
Уменьшение сложности. Поясню ниже.
можно просто пример с формой, есть может где-то в закормах, чтобы визуально тоже оценить

Andrey
09.08.2018
05:55:54
Вроде же уже давно реакт проапдейтили и стали топить за стейт и fetch внутри компонентов если это нужно
Зачастую есть сценарий, когда у тебя общий стейт у множества компонентов. И тут приходится использовать внешний стейт, например редакс. Поэтому для упрощения восприятия лучше вообще не использовать внутренний стейт.

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
Ребята, формы свои покажите, плиз
https://reactjs.org/docs/forms.html#controlled-components

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

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

Max
09.08.2018
05:59:33
https://reactjs.org/docs/forms.html#controlled-components
и как тестировать изменение стейта по вводу в input?

Только стейт находится снаружи.
зачем/почему? для меня это усложнение лишнее

Andrey
09.08.2018
06:00:07
зачем/почему? для меня это усложнение лишнее
Потому что если форма имеет глубину больше 1, то ты задолбаешься прокидывать пропсы.

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

Max
09.08.2018
06:02:20
Опечатки контролируются типизацией.
например: onChange ={this.handleeChange} а у нас у компонента только handleChange, как это типизируется?

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

например: onChange ={this.handleeChange} а у нас у компонента только handleChange, как это типизируется?
Спокойно. В компоненте нет такого метода. Тебе и тс, и flow об этом скажет.

Max
09.08.2018
06:03:45
Спокойно. В компоненте нет такого метода. Тебе и тс, и flow об этом скажет.
метод же не из props пришел, чет я торможу, ща проверю

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

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 для каждого компонента и контейнеров?

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
проблема первого подхода это жуткий хак и так неправильно потому что неправильно проблема второго это надо везде писать такую конструкцию

Кирилл
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
удобнее то первый но это плохая практика, вроде?
с чего контекст стал плохой практикой?)

Кирилл
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
Привет! Подскажите, если у меня есть рядом два тега компонента - первый считает значение, второй должен его использовать. Могу я выкинуть проп из первого наверх же?

Natasha
09.08.2018
07:53:52
у меня есть scss с медия выражениями, его импорт в index.scss не делает его глобальным
у меня в реакте такая же ситуация, я импортирую файл с переменными в каждом файле стилей не нашла обходного пути

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

Mark
09.08.2018
07:58:48
весь стейт?
Ридакс, весь общий стейт

Roman
09.08.2018
07:59:13
Ридакс, весь общий стейт
mapStateToProps не юзается чтоль?

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 })

Было такое от прошлого чувака, но как-то неловко себя чувствую когда в пропсах весь стор, поэтому ток нужное вытягиваю в mapStateToProps
Да я тоже так хочу, но не когда это все прям в коннект лепится, файлы и так большие, ну куда блин

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

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

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

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
Это не противоречит)

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

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

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

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