Потому что проще обернуть handler в useCallback и забыть о нем, т.к. если джун захочет вашу компоненту разнести и использовать как аргумент для другой молекулы, то он скорее всего забудет сделать эту обертку и его молекула будет ререндериться на любой чих. Так что useCallback просто полезен как предохранитель на огнестреле.
Это на собеседование спрашивают? А мы задачки даем, что бы посмотреть как думает человек. А это вся теория бесполезна без опыта и практики. Человек может всем этим уметь пользоваться но не знаю как это называется
Что?? Это не только из-за тестирования (а тестов обычно тоже много и важно его пистаь быстро и качественно), но и то что такую функцию можно переиспользовать с ругими объектами которые поддерживают требуемый интерфейс.
В примере T - любой тип. Вообще любой, задумайтесь! Вам не избежать рантайм ерроров. А вот если вы точно укажете что T это дженерик с минимальным требуемым интерфейсом по это будет корректно и ваш джун не натворит делов
Я намекаю на то, что мб вам попросить помощи у консорциума (прогеров, как бывших участников на ноде, так и среди местных) NodeJS, чтобы до старта тестового режима была хоть какая-нибудь версия?
Потому что проще обернуть handler в useCallback и забыть о нем, т.к. если джун захочет вашу компоненту разнести и использовать как аргумент для другой молекулы, то он скорее всего забудет сделать эту обертку и его молекула будет ререндериться на любой чих. Так что useCallback просто полезен как предохранитель на огнестреле.
Это на собеседование спрашивают? А мы задачки даем, что бы посмотреть как думает человек. А это вся теория бесполезна без опыта и практики. Человек может всем этим уметь пользоваться но не знаю как это называется
Если не понятно для чего, значит вы не так часто пользовались TSом
Что?? Это не только из-за тестирования (а тестов обычно тоже много и важно его пистаь быстро и качественно), но и то что такую функцию можно переиспользовать с ругими объектами которые поддерживают требуемый интерфейс.
В примере T - любой тип. Вообще любой, задумайтесь! Вам не избежать рантайм ерроров. А вот если вы точно укажете что T это дженерик с минимальным требуемым интерфейсом по это будет корректно и ваш джун не натворит делов
Пожалуйста, не делайте так! такие функции с большими типами и интерфейсами потом "тяжело" тестировать, а именно писать обертки для моков.
Делайте чище и правильнее:
Здесь дженериком указывается тип с теми свойствами который необходимы для вычислений, на более.
PS: Готов сам поучавствовать в этом.