Size: a a a

React — русскоговорящее сообщество

2021 April 04

VK

Vladimir Klimov in React — русскоговорящее сообщество
Zabashta
Уже писал пару раз, но проигнорили, попытаю счастье ищо рас. Я тестирую компонент при клике на который я вызываю setState(prev => ({...prev, active: 1})), грубо говоря просто меняю в стейте 1 поле с сохранением старых значений, как узнать что я передал в setState при тестировании? Тесты пишут что приходит анонимная функция, что логично, есть вариант как-либо мокнуть setState?
Вам нельзя лезть в состояние компонента, это его внутреннее дело
источник

Z

Zabashta in React — русскоговорящее сообщество
Vladimir Klimov
Вам нельзя лезть в состояние компонента, это его внутреннее дело
Дык я не лезу в состояние, просто хочу мокнуть useState и потом чекнуть результат вызова setState
источник

DP

Den Pol in React — русскоговорящее сообщество
Andrey
Хочу видеть в консоли кто и в какой последовательности вызывает компонент
источник

DN

Drew Naumenko in React — русскоговорящее сообщество
Sergey Andrianov
НУ создайте компонент svg как и любой другой И кидайте в него любые параметры это же просто текст.
спасибо , но я немного неулавливаю как тогда присвоить его елменту бэкграундом
тоесть

<element style={{backgroundImage: url ....}} >  

// там где .... он же будет требовать строку путь к ней , а у меня не путь, у меня там просто будет jsx  такого вида <svg viewbox=0 0 ${width} 655 > </svg>

или там <element style={{backgroundImage: url (./component/svgComponent) }} >
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Zabashta
Дык я не лезу в состояние, просто хочу мокнуть useState и потом чекнуть результат вызова setState
То, что компонент использует useState - это внутренняя деталь его реализации
Или я не понял чего вы хотите
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Zabashta
Уже писал пару раз, но проигнорили, попытаю счастье ищо рас. Я тестирую компонент при клике на который я вызываю setState(prev => ({...prev, active: 1})), грубо говоря просто меняю в стейте 1 поле с сохранением старых значений, как узнать что я передал в setState при тестировании? Тесты пишут что приходит анонимная функция, что логично, есть вариант как-либо мокнуть setState?
Вы хотите в реакт тиму устроится?
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Drew Naumenko
спасибо , но я немного неулавливаю как тогда присвоить его елменту бэкграундом
тоесть

<element style={{backgroundImage: url ....}} >  

// там где .... он же будет требовать строку путь к ней , а у меня не путь, у меня там просто будет jsx  такого вида <svg viewbox=0 0 ${width} 655 > </svg>

или там <element style={{backgroundImage: url (./component/svgComponent) }} >
Если вы используете свг в стилях, то и размеры задавайте в стилях
источник

JC

J. C. in React — русскоговорящее сообщество
Drew Naumenko
спасибо , но я немного неулавливаю как тогда присвоить его елменту бэкграундом
тоесть

<element style={{backgroundImage: url ....}} >  

// там где .... он же будет требовать строку путь к ней , а у меня не путь, у меня там просто будет jsx  такого вида <svg viewbox=0 0 ${width} 655 > </svg>

или там <element style={{backgroundImage: url (./component/svgComponent) }} >
viewBox={props.viewBox}
источник

Z

Zabashta in React — русскоговорящее сообщество
Vladimir Klimov
То, что компонент использует useState - это внутренняя деталь его реализации
Или я не понял чего вы хотите
Ды просто компонент условно сетит данные при получение, а я хочу быть уверенным что данные засетелись правильно. Проблема в том что я могу посмотреть что сетит функция, но как только использую такую конструкцию setState(prev => ({...prev, data: data})), то setState получает анонимную функцию с prev стейтом и при  тесте пишет что setState сохраняет  эту Анонимную функцию. Я вот думаю, можно ли мокнуть setState так, чтобы мы прокинули в него замоканный стейт
источник

Z

Zabashta in React — русскоговорящее сообщество
Dmitriy Shuleshov
Вы хотите в реакт тиму устроится?
Да, хочу
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Zabashta
Да, хочу
Тогда вы на верном пути, тестирует работу сетера стейта
источник

SA

Sergey Andrianov in React — русскоговорящее сообщество
Drew Naumenko
спасибо , но я немного неулавливаю как тогда присвоить его елменту бэкграундом
тоесть

<element style={{backgroundImage: url ....}} >  

// там где .... он же будет требовать строку путь к ней , а у меня не путь, у меня там просто будет jsx  такого вида <svg viewbox=0 0 ${width} 655 > </svg>

или там <element style={{backgroundImage: url (./component/svgComponent) }} >
Почитайте про то как вообще фреймворк рисует svg - саму базу. с помощью чего. и какие вам параметры нужны составте список. И после все прояснится. Все можно делать динамически.
источник

Z

Zabashta in React — русскоговорящее сообщество
Dmitriy Shuleshov
Тогда вы на верном пути, тестирует работу сетера стейта
вот сейчас не понял, не могу соединить слова в смысол
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Zabashta
вот сейчас не понял, не могу соединить слова в смысол
Тестируете работу внутренней логики реакта
источник

Z

Zabashta in React — русскоговорящее сообщество
Dmitriy Shuleshov
Тестируете работу внутренней логики реакта
это вопрос или утверждение? Я не тестирую внутреннюю логику, я просто пытаюсь быть уверенным что у меня правильные данные с сервера прилетают
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Zabashta
это вопрос или утверждение? Я не тестирую внутреннюю логику, я просто пытаюсь быть уверенным что у меня правильные данные с сервера прилетают
Утверждение
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Zabashta
это вопрос или утверждение? Я не тестирую внутреннюю логику, я просто пытаюсь быть уверенным что у меня правильные данные с сервера прилетают
Что потом с этими данными делает компонент?
источник

Z

Zabashta in React — русскоговорящее сообщество
Dmitriy Shuleshov
Утверждение
Просто сохраняет их в стейт, а потом они используются в приложении
источник

DS

Dmitriy Shuleshov in React — русскоговорящее сообщество
Zabashta
Просто сохраняет их в стейт, а потом они используются в приложении
Вот и проверяйте то место где эти данные уже используются
источник

Z

Zabashta in React — русскоговорящее сообщество
Dmitriy Shuleshov
Утверждение
Если по простому, вызвав setState(1) мы можем ожидать, что он вернет 1 и даже это легко тестируется. Но как только внуть setState прокидвается (prev) => ({...prev, data:data}) , то все, габелла
источник