Какво прави операторът in в TypeScript?
Frontend
Разкажете за useCallback — сценарий на използване, защо е нужен?
Разкажете за работата с формуляри в React: контролирани и неконтролирани компоненти, плюсове и минуси на всеки подход.
const LiveSearch = () => { const [inputValue, setInputValue] = useState('') const onInputChange = (e) => { setInputValue(e.target.value) search(e.target.value) } return ( <div> <input value={inputValue} onChange={onInputChange} type="text" /> </div> ) } <span> Търсене: <LiveSearch /> </span>
Задача: обход на дърво от обекти (всеки обект има полета value и elements) и изчисляване на сумата на всички стойности. Как би го реализирал?
Разкажи ми за етапите на жизнения цикъл на React компонентите
Работили ли сте някога с Blob? Как да създадете връзка за изтегляне на динамично генериран файл?
// Данните от сървъра за цената на продукта са получени във вид: // 12345678 (цената може да бъде всяка, но в диапазона от 1 до [phone]) // Трябва да напишете функция, която ще преобразува цената в форматирана низ като следното: // 12'345'678
const X = { a: 1, b: 2, c: 3, d: 4 } function getProperty(obj, key) { // Задача: типизирайте функцията return obj[key] } getProperty(X, 'a') // без грешка getProperty(X, ' ') // грешка: ключът не е валиден ключ за обекта X getProperty({ име: 'Sergey' }, 'име') // без грешка
Какво е React.memo? Кога се използва useCallback?
function sum(a, b) { return a + b; } function memo() {}
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo } from 'react'; export default () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("κάθε απόδοση 1")); console.log("κάθε απόδοση 2"); useEffect(() => { console.log("κάθε απόδοση 3"); return () => { console.log(4); }; }, [count]); return ( <button onClick={() => setCount((prevProps) => ++prevProps)}> Αύξηση </button> ); }
Какво е функция за почистване (cleanup) в useEffect? Кога се изпълнява? Напишете я в useEffect.
const { foo: [bar], bar: [{ baz: foo }] } = { foo: [1], bar: [{ baz: 3 }] } console.log(bar) console.log(foo) //
Разкажи ми за Virtual DOM и механизма reconciliation в React. Как React оптимизира сравняването на дърветата?
Как да напишем функция, която връща Promise, който се разрешава след една секунда?
let x = 5; (function () { console.log(x); let x = 0; })()
Как да покажете банер веднъж за авторизиран потребител на всички негови устройства?
Получихте код за преглед — какво не е оптимално тук?
Как да реализираме обход на дърво без рекурсия? Каква структура от данни помага?