;['keydown', 'submit'].forEach(event => {
// код
})
полагаю тоже решит проблему.['keydown', 'submit']
идёт что-то, что может принять ['keydown', 'submit'
] как обращение к объекту по ключу 'submit'
. func()
['keydown', 'submit'].forEach(event => { .. })
это на самом деле: func()['keydown', 'submit'].forEach(event => { ... }) -> func()
-> func().submit.forEach(event => { ... })
const getUser = async (email: string): Promise<UserDTO>
говорит нам что из функции придёт объект обладающий полями UserDTO. UserModel обладает полями UserDTO? Обладает. Значит всё верно. Типы совместимы. Наличие всех полей UserDTO в UserModel гарантирует, что дальнейшая передача объекта в любые функции работающие с UserDTO не приведёт ни к каким ошибкам исполнения. В чём и есть задача typescript.package.json
отвечают за сборку да вызываете. yarn install
, yarn build
, и у себя в в package.json подключаете через {
...
"dependencies": {
...
"react-3d-cube": "file:../folder" // или "link:../folder"
}
}
'.what-we-do__li-1'
будут другие элементы, то при наведении на них будет срабатывать mouseout
, а потом всплывать mouseover
потомка. Т.е. будет "дрыгаться". mouseenter
\mouseleave
учитывает только тот элемент на котором висят и не зависят от потомков.