Size: a a a

2020 June 09

DB

Dima Bildin in React Kyiv
Bogdan
У меня есть уже протестированая либа которая дает четкий контракт для взаимодействия. Мне нужно только протестить взаимоействие ее с моим компонентом. И этот тест можно написать за 30 секунд (но только не с хуками оказывается)
Ну вот, за 30 сек не получается)
1. ты можешь захотеть эту либу поменять на другую.
2. Что б её замокать тебе нужно написать свой хук, который подложишь вместо того. И тут опять появляется вероятность, что тест с твоим хуком, которым ты подменил работает, с хуком из протестированной либы, нет
источник

B

Bogdan in React Kyiv
Dima Bildin
Ну вот, за 30 сек не получается)
1. ты можешь захотеть эту либу поменять на другую.
2. Что б её замокать тебе нужно написать свой хук, который подложишь вместо того. И тут опять появляется вероятность, что тест с твоим хуком, которым ты подменил работает, с хуком из протестированной либы, нет
Трейдофы каждый для себя сам выбирает. Плохо, когда инструмент ограничивает подходы в тестировании
источник

DB

Dima Bildin in React Kyiv
Bogdan
Трейдофы каждый для себя сам выбирает. Плохо, когда инструмент ограничивает подходы в тестировании
Очень мудро про трейдофы)
Не очень понял, какой инструмент ограничивает. Так работают реакт-хуки. Этот конкретный реакт-хук тригерит изменение ченжа с новым значением, когда тригерится intersection observer (это считай и есть твой user input). Соответственно, тут два варианта: или честно менять тот user input, с которым работает хук, или мокать хук (то есть, подменять один другим), который будет это делать, когда ты ему скажешь об этом из теста. Трудозатраты примерно одни и те же
источник

B

Bogdan in React Kyiv
Leonid Kuznetsov
если третье то сделай просто тестовый компонент и импортни туда хук и компонент и тестируй его это будет самое простое
А что этот третий компонент дает? Мне надо чтоб хук вызвался в моем компоненте и вернул нужные данные
источник

LK

Leonid Kuznetsov in React Kyiv
Если хук внутри компонента, то можешь просто его тестить
источник

B

Bogdan in React Kyiv
Leonid Kuznetsov
Если хук внутри компонента, то можешь просто его тестить
А вызывать его как?
источник

LK

Leonid Kuznetsov in React Kyiv
Bogdan
А вызывать его как?
Тебе хук вызвать не надо, ты props прокинь, а хук сам вызовиться
источник

B

Bogdan in React Kyiv
Leonid Kuznetsov
Тебе хук вызвать не надо, ты props прокинь, а хук сам вызовиться
а, так можно просто в мой компонент левые пропсы кидать
источник

LK

Leonid Kuznetsov in React Kyiv
Bogdan
а, так можно просто в мой компонент левые пропсы кидать
Почему левые? Ты в тесте вызываешь компонент с пропсами и потом при помощи Enzyme проверяешь что на выходе
источник

B

Bogdan in React Kyiv
Leonid Kuznetsov
Почему левые? Ты в тесте вызываешь компонент с пропсами и потом при помощи Enzyme проверяешь что на выходе
хук может вызываться не только при маунте
источник

LK

Leonid Kuznetsov in React Kyiv
Bogdan
хук может вызываться не только при маунте
Тебя тяжело понять что ты хочешь
источник

OZ

Oleh ZH in React Kyiv
Народ привіт, потрібна допомога в питанні як ізолювати css стилі щоб вони еплаїлися тільки до одної компоненти.
Більш практично, хочу carousel заюзати з react-bootstrap але після того як імпорчу стилі вони ламають все що до того зробив в інших місцях сайту.
источник

IB

Ihor Barmak in React Kyiv
Oleh ZH
Народ привіт, потрібна допомога в питанні як ізолювати css стилі щоб вони еплаїлися тільки до одної компоненти.
Більш практично, хочу carousel заюзати з react-bootstrap але після того як імпорчу стилі вони ламають все що до того зробив в інших місцях сайту.
css modules погугли
источник

OZ

Oleh ZH in React Kyiv
Ihor Barmak
css modules погугли
thx
источник

IB

Ihor Barmak in React Kyiv
А якщо простіше, то просто огорни контейнер певним класом і обмеж свої стилі щоб вони мали силу тільки в межах контейнера з цим класом
источник

LK

Leonid Kuznetsov in React Kyiv
Oleh ZH
Народ привіт, потрібна допомога в питанні як ізолювати css стилі щоб вони еплаїлися тільки до одної компоненти.
Більш практично, хочу carousel заюзати з react-bootstrap але після того як імпорчу стилі вони ламають все що до того зробив в інших місцях сайту.
БЕМ, css modules, styled components
источник

А

Артем in React Kyiv
Oleh ZH
Народ привіт, потрібна допомога в питанні як ізолювати css стилі щоб вони еплаїлися тільки до одної компоненти.
Більш практично, хочу carousel заюзати з react-bootstrap але після того як імпорчу стилі вони ламають все що до того зробив в інших місцях сайту.
Не если реакт то useStyle useTheme
источник

OZ

Oleh ZH in React Kyiv
Ок, дякую, буду гуглити)
источник

YO

Yevhenii Oliinyk in React Kyiv
реально ли в реакте повесить юз эфект на изменение цсс? при ховере меняется дисплей пропса и хотелось бы привязать к этому экшн
источник

B

Bogdan in React Kyiv
Yevhenii Oliinyk
реально ли в реакте повесить юз эфект на изменение цсс? при ховере меняется дисплей пропса и хотелось бы привязать к этому экшн
так можно на mouseover повесить
источник