Size: a a a

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

2021 March 12

SE

Stanislav Entaltsev in React — русскоговорящее сообщество
```
<script>
const checkout = new window.CheckoutForm()
checkout.render('checkout-form')
</script>
```
Как и куда это вставить, если нужно запускать это только в модалке, где собственно и находится '#checkout-form'?
источник

A

Averlor in React — русскоговорящее сообщество
сорян, забыл что у helmet нет onload.
Ты можешь либо Helmet'ом тянуть скрипт и потом делать что-то типа:

if (window.CheckoutForm) {
   const checkout = ////
}


либо можно заюзать react-load-script:

import Script from 'react-load-script'

<Script
  url=""
  onLoad={some function}
/>
источник

DP

Den Pol in React — русскоговорящее сообщество
Stanislav Entaltsev
```
<script>
const checkout = new window.CheckoutForm()
checkout.render('checkout-form')
</script>
```
Как и куда это вставить, если нужно запускать это только в модалке, где собственно и находится '#checkout-form'?
Если window.CheckoutForm уже доступно, то я бы сделал хуком useEffect((() => some fn ), []) внутри содержимого модалки
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Есть ли у jest секретный ключ, который заставит его "падать" при warning?
источник

SS

Stanislav Suslov in React — русскоговорящее сообщество
Victor Rusakovich
Есть ли у jest секретный ключ, который заставит его "падать" при warning?
а warning это что? console.warn?
источник

M

Maksym in React — русскоговорящее сообщество
Victor Rusakovich
Есть ли у jest секретный ключ, который заставит его "падать" при warning?
может тебе надо eslint?
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Stanislav Suslov
а warning это что? console.warn?
console.error и console.warn. Например, ругательство на всякие нестрашные ошибки:
console.error
     Warning: forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?
источник

M

Maksym in React — русскоговорящее сообщество
Victor Rusakovich
console.error и console.warn. Например, ругательство на всякие нестрашные ошибки:
console.error
     Warning: forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?
источник

SS

Stanislav Suslov in React — русскоговорящее сообщество
Victor Rusakovich
console.error и console.warn. Например, ругательство на всякие нестрашные ошибки:
console.error
     Warning: forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?
уф. думаю такого нет. я совсем не эксперт в jest, но думаю там можно повесить обработчик на функции console.error и console.warn, что бы завершать тест с ошибкой. но мне кажется это уже костыли какие-то, которые решают следствие другой проблемы
источник

M

Maksym in React — русскоговорящее сообщество
мне кажется ты не тот инструмент используешь
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Это если я в своем коде буду использовать console. Тут речь о том, что сторонние библиотеки могут в консоль выдавать warning/error/info
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Stanislav Suslov
уф. думаю такого нет. я совсем не эксперт в jest, но думаю там можно повесить обработчик на функции console.error и console.warn, что бы завершать тест с ошибкой. но мне кажется это уже костыли какие-то, которые решают следствие другой проблемы
тоже только такой способ нашел https://stackoverflow.com/a/50584643
Задача достаточно простая - "падать" на CI, чтобы сигнализировать о ворнингах.
источник

M

Maksym in React — русскоговорящее сообщество
Victor Rusakovich
тоже только такой способ нашел https://stackoverflow.com/a/50584643
Задача достаточно простая - "падать" на CI, чтобы сигнализировать о ворнингах.
var warn = jest.spyOn(global.console, 'warn');
expect(warn).not.toHaveBeenCalled(); ?
источник

SE

Stanislav Entaltsev in React — русскоговорящее сообщество
Как запустить именно код в теге script, а не script по src?
Пробую через <Helmet srcipt={[{ type: "text/javascript", innerHTML: 'code' }]}, но складывается ощущение, что код отправляется как текст, а не код,
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Maksym
var warn = jest.spyOn(global.console, 'warn');
expect(warn).not.toHaveBeenCalled(); ?
хм... это надо какой-то отдельный глобальный тест, который будет для каждого файла запускаться... Интересная идея, можно попробовать. Спасибо
источник

SE

Stanislav Entaltsev in React — русскоговорящее сообщество
`<Helmet srcipt={[{ type: "text/javascript", innerHTML: 'const checkout = new window.Checkout()' }]} />` window.Checkout is not a constructor
Что это значит?
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Maksym
var warn = jest.spyOn(global.console, 'warn');
expect(warn).not.toHaveBeenCalled(); ?
https://www.jackfranklin.co.uk/blog/failing-tests-on-react-proptypes/
вот неплохой прием - со white-list ошибок
источник

DK

Dmitry Kudryavtsev in React — русскоговорящее сообщество
Привет всем, посоветуйте пожалуйста либу для автокомлита адресов рф
источник

SE

Stanislav Entaltsev in React — русскоговорящее сообщество
Dmitry Kudryavtsev
Привет всем, посоветуйте пожалуйста либу для автокомлита адресов рф
dadata
источник

M

Maksym in React — русскоговорящее сообщество
Victor Rusakovich
https://www.jackfranklin.co.uk/blog/failing-tests-on-react-proptypes/
вот неплохой прием - со white-list ошибок
думаю это лучше всего будет
источник