Sobes.tech

Frontend

Зашто debounce, а не throttle за претрагу?

Middle+
135

Napišite funkciju getUserProfile koja uzima userId kao argument i preuzima profil korisnika sa API endpointa "[link]". Funkcija treba da zabeleži profil korisnika ako je fetch uspešan, i da zabeleži poruku o grešci ako fetch ne uspe.

Middle+
134

Шта је затварање?

Middle+
134

Šta je Set? Šta možemo proslediti kao argument kada pozivamo new Set?

Middle+
133

Koje statičke metode Promise poznaješ? Pričaj mi o njima.

Middle+
132

const S = { id: 1, name: "Ivan", age: "39", tel: [phone] }; function getParam(obj, key) { return obj[key]; } getParam(S, "tel"); getParam(S, "job");

Middle+
131

import React, { useState, useEffect, useLayoutEffect } from 'react'; export default () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("svaki render 1")); console.log("svaki render 2"); useEffect(() => console.log("svaki render 3")); return ( <button onClick={() => setCount((prevProps) => ++prevProps)}> Povećaj </button> ); } // montiranje -> svaki render 2, svaki render 1, svaki render 3 // ažuriranje -> svaki render 2, svaki render 1, svaki render 3 // odmontiranje 4

Middle+
131

Napiši šta će se desiti pri prvom renderovanju — u kojoj će se redoslijedu prikazivati console.log. Šta će biti nakon klika?

Middle+
131

Šta je WeakSet?

Middle+
128

Napišite apstraktnu implementaciju komponenta Child sa memoizacijom putem React.memo. Koji je drugi argument koji prihvata React.memo?

Middle+
128

import React, { useState, useEffect, useRef, useContext, useReducer, useMemo } from 'react'; const someFunc = (arr) => { return [...arr].sort((a, b) => a - b); }; const LazyInit = (props) => { const [arr, setArr] = useState(() => someFunc(props.arr)); const onClick = () => { setArr((prev) => prev.concat(prev.length + 1)); }; return ( <> <button onClick={onClick}> Increment </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ); }; export default () => <LazyInit arr={[1, 2, 3]} />; --- Дискуссия справа касается: - Использование TypeScript с обобщениями: "<T extends object, K extends keyof T>" - Проверки, является ли данные строкой, с помощью охранника типа: "isString(data: unknown): data is string { ... }" - Использование useState с функцией, чтобы избежать повторного выполнения при каждом рендере: ``` const [state, setState] = useState(getComplexData); // или const [state, setState] = useState(() => getComplexData()); ``` - Функция, передаваемая в useState, выполнится только один раз при монтировании компонента. - Предупреждение о прямом изменении состояния в строке 11 с prev.concat. --- Техническое задание — проанализировать и, возможно, исправить или оптимизировать код компонента React, особенно: - Правильная ленивое инициализация состояния с помощью useState. - Избегать прямого мутации состояния. - Понимание обобщений TypeScript и охранников типа. - Обеспечить правильное обновление состояния компонента при клике на кнопку.

Middle+
126

Koja je razlika između Map i WeakMap?

Middle+
126

Postoje tri izvora podataka koji vraćaju iste informacije. Kako dobiti odgovor od najbržeg?

Middle+
121

Ispričaj mi o hook-u useState u React-u.

Middle+
115

Zašto se sa streličnim funkcijama ne može raditi sa konstruktorom new?

Middle+
112

Kako se kreiraju funkcije u JavaScriptu? Koji su načini za kreiranje funkcija i kako se razlikuju?

Middle+
111

Koje utilitarne tipove TypeScript koristiš u svom radu? Pričaj o Record, Pick, Omit, Partial, Required, Parameters, Exclude, Extract.

Middle+
99
/5