рдореИрдВ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп ( grommet
) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ a
рдЯреИрдЧ рдкрд░ scrollIntoView
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред jsdom
рдХреЛрдб рдХреА рдЙрд╕ рдкрдВрдХреНрддрд┐ рдХреЛ рдорд╛рд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдлреЗрдВрдХ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯ рдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЯреЗрд╕реНрдЯ рд╣реЗрд▓реНрдкрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ window.HTMLElement.prototype.scrollIntoView = function() {};
рдЬреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╣рд╛рдБ, рдпрд╣ рдПрдХ рдЧреИрд░-рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд-рдЪреЗрддрд╛рд╡рдиреА рд╕реНрдЯрдм рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд▓реЗрдЖрдЙрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рдкрд░ рдХреЛрдИ рдЖрдВрджреЛрд▓рди?
рдЬреЗрд╕реНрдЯ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВ рдПрдХ рдШрдЯрдХ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдХрд┐рд╕реА рддрддреНрд╡ рдкрд░ рд╕реНрдХреНрд░реЙрд▓рдЗрдиреНрдЯреЛ рд╡реНрдпреВ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╣рдореЗрд╢рд╛ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ
TypeError: node.scrollIntoView is not a function
at Object.scrollInToView src/component/shared/foo.tsx:7
at User.Object.<anonymous>.User.componentDidMount
@QuantumInformation рдЖрдк рдЗрд╕реЗ рдЬреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
Element.prototype.scrollIntoView = jest.fn();
рдореБрдЭреЗ рдпрд╣ рдлрд┐рдХреНрд╕ рд╣рд░ рдЬрдЧрд╣ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк Element рд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореБрдЭреЗ рдорд┐рд▓рддрд╛ рд╣реИ 'рддрддреНрд╡ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ' рдореИрдВ рдЪрд╛рдп рдХреЗ рд╕рд╛рде рдПрдВрдЬрд╛рдЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдЖрдкрдХреЛ рдЕрдкрдиреЗ tsconfig libs рдореЗрдВ Element рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдЕрд░реНрдерд╛рдд
рдбреЛрдо'
@ qmg-JamesT рдпрд╣ рд╡реИрд╢реНрд╡рд┐рдХ рддрддреНрд╡ рд╡рд░реНрдЧ рд╣реИ рдЬрд╣рд╛рдВ рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЛ рд╕реНрдХреНрд░реЙрд▓рдЗрдиреНрдЯреЛрд╡реНрдпреВ рд╡рд┐рдзрд┐ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред
рдирдорд╕реНрддреЗ, рдХреНрдпрд╛ рдЬреЗрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?
рд╣реИрд▓реЛ, рдЖрдк window.HTMLElement.prototype.scrollIntoView = jest.fn() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдореБрдЭреЗ Element.prototype.scroll = jest.fn() рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
@enessoylu рдФрд░ @msmetana рдЖрдк рдкреНрд░рддреНрдпреЗрдХ .test рдореЗрдВ Element.prototype.scrollIntoView = jest.fn()
рдбрд╛рд▓рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдХрд╣рд╛рдВ рджреЗрддреЗ рд╣реИрдВред
рд╕реАрдЖрд░рдП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдПрдХ setupTest.ts рд╣реИ, рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди idk
import '@testing-library/jest-dom/extend-expect'
Element.prototype.scroll = jest.fn()
ava
рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдзрд╛рд╡рдХ рдХреЗ рд▓рд┐рдП рдЖрдк window.HTMLElement.prototype.scrollIntoView = () => {}
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ test.beforeEach()
рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрджрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛:
Element.prototype.scrollIntoView` = () => {};
рдПрдХ рдмрд╛рд░ setupJest.ts . рдореЗрдВ
рдпрд╣ scroll
. рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ
Element.prototype.scrollIntoView = jest.fn();
рдзрдиреНрдпрд╡рд╛рдж! рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред
рдЗрд╕рдХреЛ рдЖрдЬрдорд╛рдУ..
window.HTMLElement.prototype.scrollIntoView = function() {};
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@QuantumInformation рдЖрдк рдЗрд╕реЗ рдЬреЗрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
Element.prototype.scrollIntoView = jest.fn();