Size: a a a

2020 September 18

SS

Serhey Shmyg in React Kyiv
Vadym Shevchenko
в компоненте не должно быть логики
Нуну
источник

YO

Yevhenii Oliinyk in React Kyiv
react-router-redux думал это применять
источник

VS

Vadym Shevchenko in React Kyiv
Serhey Shmyg
Нуну
в идеале в компонентах не должно быть логики от слова совсем, иначе покрыть ваш код тестами - будет очень проблематичной задачей
источник

YO

Yevhenii Oliinyk in React Kyiv
но там This library is not necessary for using Redux together with React Router. You can use the two together just fine without any additional libraries. It is useful if you care about recording, persisting, and replaying user actions, using time travel. If you don't care about these features, just use Redux and React Router directly.
источник

VS

Vadym Shevchenko in React Kyiv
import { createBrowserHistory } from 'history';

export const browserHistory = createBrowserHistory();


и в App компоненте в роутер передаем этот history
<Router history={browserHistory}>
источник

VS

Vadym Shevchenko in React Kyiv
и потом его можно использовать везде в любом месте проекта
источник

SS

Serhey Shmyg in React Kyiv
Vadym Shevchenko
в идеале в компонентах не должно быть логики от слова совсем, иначе покрыть ваш код тестами - будет очень проблематичной задачей
Для цього і розділяють компоненти які dumbs і які містять логіку і сайд ефекти.
источник

C

Constantine in React Kyiv
Vadym Shevchenko
в идеале в компонентах не должно быть логики от слова совсем, иначе покрыть ваш код тестами - будет очень проблематичной задачей
Вот тут не согласен
Исходя из того что Вы сказали: получается что тестировать у вас получится только dumb компоненты
И тогда логичный вопрос возникает: зачем тестировать сам реакт?
источник

C

Constantine in React Kyiv
Он и так замечательно покрыт тестами
источник

C

Constantine in React Kyiv
Тестировать необходимо логику, написанную Вами, бизнес логику
источник

VS

Vadym Shevchenko in React Kyiv
Constantine
Вот тут не согласен
Исходя из того что Вы сказали: получается что тестировать у вас получится только dumb компоненты
И тогда логичный вопрос возникает: зачем тестировать сам реакт?
логика должна быть в сагах, которые потом очень легко тестируются и не зависят по сути ни от чего
и в данном случае вся бизнес логика в одном месте и не привязана ни к какому компоненту и может быть переиспользована где угодно
источник

SS

Serhey Shmyg in React Kyiv
Vadym Shevchenko
в идеале в компонентах не должно быть логики от слова совсем, иначе покрыть ваш код тестами - будет очень проблематичной задачей
Цікаво подивитись на такий продж де в компонентах не має логіки. Запихнули тоді її в усі місця які тільки можна. В редтюсери, мідлварі чи що там ще на таких проджах буває.
источник

SS

Serhey Shmyg in React Kyiv
Vadym Shevchenko
логика должна быть в сагах, которые потом очень легко тестируются и не зависят по сути ни от чего
и в данном случае вся бизнес логика в одном месте и не привязана ни к какому компоненту и может быть переиспользована где угодно
Якщо не має ні сан ні редаксу? Тоді як?
источник

C

Constantine in React Kyiv
Vadym Shevchenko
логика должна быть в сагах, которые потом очень легко тестируются и не зависят по сути ни от чего
и в данном случае вся бизнес логика в одном месте и не привязана ни к какому компоненту и может быть переиспользована где угодно
Мне хочется увидеть это приложение уже
источник

SS

Serhey Shmyg in React Kyiv
Constantine
Мне хочется увидеть это приложение уже
+1
источник

VS

Vadym Shevchenko in React Kyiv
Serhey Shmyg
Цікаво подивитись на такий продж де в компонентах не має логіки. Запихнули тоді її в усі місця які тільки можна. В редтюсери, мідлварі чи що там ще на таких проджах буває.
к компоненту подключается экшн, который вызывается на какое-то событие (клик, селект и тд), а вся остальная логика описана в саге (вызов АПИ, обработка результатов, запись в стор и тд)
источник

SS

Serhey Shmyg in React Kyiv
Vadym Shevchenko
логика должна быть в сагах, которые потом очень легко тестируются и не зависят по сути ни от чего
и в данном случае вся бизнес логика в одном месте и не привязана ни к какому компоненту и может быть переиспользована где угодно
Це називається вирішувати проблему якої не має. В залежності від проекту дані використовуються повторно дуже рідко. І пихати їх в глобал стейт чи контексст не має нічкого логічного сенсу. Типу а можливо в майбутньому буде ще десь. Ні не буде. Як буде тоді і думати.
источник

C

Constantine in React Kyiv
Serhey Shmyg
Це називається вирішувати проблему якої не має. В залежності від проекту дані використовуються повторно дуже рідко. І пихати їх в глобал стейт чи контексст не має нічкого логічного сенсу. Типу а можливо в майбутньому буде ще десь. Ні не буде. Як буде тоді і думати.
YAGNI
источник

VS

Vadym Shevchenko in React Kyiv
ок)
источник

YO

Yevhenii Oliinyk in React Kyiv
вот у меня кейс который против подхода апдейта роута в саге. есть компонент с кнопкой. нажимаю кнопкой. начинается подгрузка данных в саге. бек подвисает и отдает данные долго. Ждать не хочу, жму на другую кнопку перехожу на другой роут. и тут та сага заканчивается и неожидано меня кидает на экран на который мне уже не надо
источник