@react_js

Страница 4999 из 5115
Aleh
13.10.2018
12:28:59
ну, да. Но я всё же покрыл бы это тестами, если есть планы на развитие
Этот момент вообще можно отложить, техдолг все дела

Artyom
13.10.2018
12:29:00
Я вот реально не понимаю смысл тестов, что идет с бэка я знаю, сторы по полочкам разложены. Что может пойти не так? Я в целом понимаю что они может быть и нужны, но без них как-то все работает
В долгосрочной перспективе при рефакторинге или просто каких-то изменениях без них сложно. Чем больше приложение, тем больше нужны тесты. Потому что в какой-то момент ты уже не можешь отследить на что повлияли твои изменения и остается два варианта: делать полный ручной регресс или пользоваться тестами - которые, фактически, должны и обеспечивать полный функциональный регресс

Сергей
13.10.2018
12:29:11
Aleh
13.10.2018
12:29:12
Другое дело, что многие забывают, что долги отдавать надо)

Google
Nikita
13.10.2018
12:29:20
возможность спокойно рефакторить код, без боязни, что что-то сломается
Пока что единственный внятный ответ, а не «ты троль и код твой говно»

Женя
13.10.2018
12:29:45
ну надо учиться писать тесты. да
Ну да, я просто вот месяц в проекте и сейчас занимаюсь только юх проблемных компонентов

Но тут такой иногда бред в тестах встречается

Это пиздец

Хочется выйти в окно

Andrew
13.10.2018
12:30:11
Мало того что оборачивается врапом ензаймом
Тесты могут ничего не значить, если в них бред проверяется

Artyom
13.10.2018
12:30:18
Тесты нужно уметь писать - это большая проблема

?
13.10.2018
12:30:46
Но тут такой иногда бред в тестах встречается
Значит нужно писать тесты для тестов

Nikita
13.10.2018
12:31:20
Нет идеальных приложений, всегда есть связанность и вытекающие проблемы
И мой вопросы про тесты вызван тем, что я не сталкивался с проблемами, но тут все топят за тесты

Google
Nikita
13.10.2018
12:32:08
Прям без них не выжить, но года полтора они не требовались

Andrew
13.10.2018
12:32:42
Хотя бы 5+ человек на фронте

Artyom
13.10.2018
12:32:57
Тесты нужно уметь писать - это большая проблема
Самый простой совет: пишите тесты имитируя ручное регрессионное тестирование, а при добавлении исправлений и их тестов при решении багов - оставляйте в коде (теста) об этом комментарий со ссылкой на задачу в баг-трекере.

Wthigo
13.10.2018
12:33:30
Прям без них не выжить, но года полтора они не требовались
А давай просто поймем что ты писал за полтора года

Женя
13.10.2018
12:33:30
Ты можешь поменять логику например в селекте на одной странице и у тебя логика на двух других на страницах, которые давно никто не трогал - сломается

Wthigo
13.10.2018
12:33:36
Какого уровня приложения?

Женя
13.10.2018
12:33:49
И узнаешь об этом, когда тебе скажет клиент

Мол хуле не работает фича, которая работала

Nikita
13.10.2018
12:34:14
Какого уровня приложения?
Likebro.vip например (реакт после реги)

Дмитрий
13.10.2018
12:35:10
Нет
Весь мир на расте не напишешь

Artyom
13.10.2018
12:35:21
Какого уровня приложения?
Ой да ладно, я писал многомиллионные большущие приложения и там не было тестов. Просто код был такой лапшой - что тесты бы не помогли, каждый баг нужно разгребать руками и историческими знаниями. На самом деле тесты - это один из признаков хорошего проекта, а на плохом проекте и тесты будут плохие и бесполезные

Сергей
13.10.2018
12:36:07
Дмитрий
13.10.2018
12:36:14
Нет

Сергей
13.10.2018
12:36:29
Весь мир на расте не напишешь
но я скорее хотел отделить стор и шину событий. поэтому эффектор не подошел

Andrew
13.10.2018
12:36:47
А как же т и п и з а ц и я ?

Сергей
13.10.2018
12:36:47
я хотел так, чтобы можно было использовать любой стор

Aleh
13.10.2018
12:36:54
Ну окей, почти убедил. Но ведь у нас компоненты не связанные между собой, т.е. Что-то отвалиться при херовой структуре или критических изменениях
Кроме проверки корректности логики тесты заставляют тебя самого использовать свой код и задуматься про то, а удачный ли ты интерфейс придумал. А также передача знаний и описание граничных условий

Aleh
13.10.2018
12:37:51
Тесты конечно не панацея, просто еще один инструмент

Google
Дмитрий
13.10.2018
12:38:39
я хотел так, чтобы можно было использовать любой стор
сторы совместимы с react redux из коробки, имеют Symbol.observable интероп с библиотеками для стримов

Aleh
13.10.2018
12:38:57
Всякие скандинавы, которые сильно загоняются по тестам, часто делают тесты ради тестов, которые только мешают пониманию. Т.е. да, тесты могут делать хуже, как и любой другой инструмент)

Дмитрий
13.10.2018
12:39:21
Если это не любой стор то я без понятия что тебе нужно

Сергей
13.10.2018
12:39:34
сторы совместимы с react redux из коробки, имеют Symbol.observable интероп с библиотеками для стримов
кстати, а как тестировать логику при использовании эффектора?

Дмитрий
13.10.2018
12:39:51
Непосредственно

Andrew
13.10.2018
12:39:52
Если бы стоял выбор между тестами и типизацией, то я бы взял второе, намного меньше делаешь ошибок когда пишешь код -> код более стабилен

Дмитрий
13.10.2018
12:39:58
Он синхронной выполняется

Aleh
13.10.2018
12:40:42
Если бы стоял выбор между тестами и типизацией, то я бы взял второе, намного меньше делаешь ошибок когда пишешь код -> код более стабилен
Непонятно зачем делать такой выбор. Если бы я выбирал между велосипедом и обедом, то выбрал бы второе, иначе у меня не будет сил крутить педали

Дмитрий
13.10.2018
12:40:55
Более того, в репе пара тысяч loc тестов, в том числе и на корректность логики в тонне кейсов

Artyom
13.10.2018
12:41:35
Весь мир на расте не напишешь
Я тут понемногу начал понимать что такое акторы. Но, кажется, эффектор не точная их имплементация, а только использует идеи, я правильно понял? Или все же... сторы - это акторы с логикой обработки данных, евенты - акторы с логикой реакций (БЛ и т.п.)?

Сергей
13.10.2018
12:44:11
Неверно
конечно все акторы запускается в общем поле

Тимофей
13.10.2018
12:50:41
С точностью до наоборот причём
Скажи пожалуйста что такое gate в эффекторе ? а то я что то не догнал по примеру

Дмитрий
13.10.2018
12:53:21
Google
Ilya
13.10.2018
13:23:17
Всем привет Подскажите пожалуйста след. момент: есть роутер в котором присутствует подобная запись: <Route exact path='/feed' render={()=><MainScreen module={<Feed/>} header="logo"/> }/> <Route exact path='/profile/:id' render={()=><MainScreen header="user"/> }/> Дальше у меня есть компонент по роуту /feed (назовем его компонент А), который в componentWillMount загружает в стейт список объектов. Этот компонент содержит ссылку на /profile/{id} , роут - по которому прогрузится след. компонент (назовем его компонент Б). В чем собственно вопрос: как сделать так, чтобы по переходу с компонента А на компонент Б (через NavLink) , а потом нажатием кнопки назад (на компонент А), сохранилось то состояние страницы (компонента А), на момент такое же когда ты уходил с нее на компонент Б

дело в том что компонент А методом componentWillMount обновляет свой стейт. Можно ли как нибудь дать указание не делать этого по нажатию кнопки назад ?

типа BrowserHistory.goBack повесить на кнопку браузера ?

Andrew
13.10.2018
13:42:12
pop state вроде

Дмитрий
13.10.2018
13:43:15
Скажи пожалуйста что такое gate в эффекторе ? а то я что то не догнал по примеру
Feedback, стор обновляющийся на основе данных из view через shallowCompare Юз кейс: <GateRoute routeName="login" /> После чего получаем стор отражающий view пропсы А так как любой стор порождает computed (типа так) createStore([]).map(arr => arr.length) то мы можем далее рассчитывать какие-либо данные или реагировать на изменение routeName статически

Timofey
13.10.2018
14:01:28


Admin
ERROR: S client not available

Timofey
13.10.2018
14:04:09


Cenator
13.10.2018
14:14:53
value надо передавать

Timofey
13.10.2018
14:15:11
value надо передавать
value? типа нельзя отходить от этого имени параметра?)

Timofey
13.10.2018
14:15:25
Нельзя)
это же тупо( как они до этого додумались

Cenator
13.10.2018
14:15:56
это же тупо( как они до этого додумались
А как реакт должен понять как твой проп называется?

Timofey
13.10.2018
14:16:32
А как реакт должен понять как твой проп называется?
ну он же понимает все мои пропсы, я думал он по такому же принципу именует контекст. что я могу передать value, а могу любое свое имя передать.

Timofey
13.10.2018
14:17:11
Artyom
13.10.2018
14:17:32
Т.е. ты не можешь передать несколько параметров все равно

Timofey
13.10.2018
14:17:50
Ну это понятно. Просто как по мне, странное решение привязываться именно к value( еще такое имя абстрактное, будто намекает что может быть любое.

Kelin
13.10.2018
14:18:17
Короче, ебать Draft помойка, slate топчик

Google
Artyom
13.10.2018
14:18:32
как нибудь вот так: ...contextValues
<Provider value={{ prop1, prop2 }}.... <Consumer>{({ prop1, prop2 }) => }

Timofey
13.10.2018
14:19:31
назвали бы context, уже а не value, прям с толку сбивает) ну ладно теперь то все встало на свои места. спасибо всем) @artalar @itsjohncena

Artyom
13.10.2018
14:20:40
Ну это понятно. Просто как по мне, странное решение привязываться именно к value( еще такое имя абстрактное, будто намекает что может быть любое.
ты, по ходу, не понял... С твоим предложением реакту нужно было бы отфильтровывать из пропсов зарезервированные слова: key, ref, а ты бы, в свою очередь, не смог бы их использовать. А вдруг они у тебя прилетять из аргумента который ты спредишь, что тогда? Еще это лишняя работа... Так что решение правильно

Artyom
13.10.2018
14:24:41
И это считается минусом такой реализации ХОК

Timofey
13.10.2018
14:25:10
И это считается минусом такой реализации ХОК
то есть пропсы любые прокидываешь и они сохраняются, я думал что-то похожее и тут. но нет тут привязка строго к value

Artyom
13.10.2018
14:25:41
Ты можешь что угодно прокинуть в value....

Не всегда нужно прокинуть объект, иногда это строка или число

Alex
13.10.2018
15:14:04
всем привет, у меня вопрос. я сделал два div в которые вывожу данные в виде json древовидной структуры, как мне можно синхронизировать эти блоки, что бы открывая ноду в одном блоке она синхронно открывалась в соседнем блоке

Ilya
13.10.2018
16:09:14
так что знает кто нибудь как можно "мягко" вернуться назад на предыдущую страницу не тригеря маунт компонента ?

типа есть страница на которой компонент в котором что нибудь наскролили-наклацали оно там все поменялось перешли потом на другую страницу а потом кнопкой назад вернулись и все точно так же наклацано осталось

есть варики как это реализовать

Valeriy
13.10.2018
16:12:56
есть варики как это реализовать
через портал :) скрыть его временно и потом показать обратно

Psycho
13.10.2018
16:13:18
есть варики как это реализовать
сохранять нужные данные в редакс при unmount и восстанавливать при didMount

Valeriy
13.10.2018
16:14:12
сохранять нужные данные в редакс при unmount и восстанавливать при didMount
ну ему придется все скролы всех компонентов на странице сохранять и восстанавливать

аосстановить всю картинку как она была очень сложно будет

Duego
13.10.2018
16:18:47
На ssr сложно перейти?

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