Jaké statické metody Promise znáš? Povíš mi o nich.
Frontend
Napište funkci getUserProfile, která přijímá userId jako argument a načte profil uživatele z API endpointu "[link]". Funkce by měla zaznamenat profil uživatele, pokud je fetch úspěšný, a zaznamenat chybovou zprávu, pokud fetch selže.
import React, { useState, useEffect, useLayoutEffect } from 'react'; export default () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("minden render 1")); console.log("minden render 2"); useEffect(() => console.log("minden render 3")); return ( <button onClick={() => setCount((prevProps) => ++prevProps)}> Növel </button> ); } // mount -> minden render 2, minden render 1, minden render 3 // update -> minden render 2, minden render 1, minden render 3 // unmount 4
Co je to Set? Co můžeme předat jako argument při volání new Set?
const S = { id: 1, name: "Ivan", age: "39", tel: [phone] }; function getParam(obj, key) { return obj[key]; } getParam(S, "tel"); getParam(S, "job");
Jsou let a const (hoisting) vyzdvižené? Co se stane, když k nim přistupujeme před jejich deklarací?
Napište abstraktní implementaci komponenty Child s memoizací přes React.memo. Jaký je druhý argument, který React.memo přijímá?
Napiš, co se stane při prvním renderu — v jakém pořadí se zobrazí console.log. Co bude po kliknutí?
Co je to WeakSet?
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]} />; --- Diskuse na pravé straně se zabývá: - Použitím TypeScript s generiky: "<T extends object, K extends keyof T>" - Kontrolou, zda jsou data řetězcem, pomocí typu strážce: "isString(data: unknown): data is string { ... }" - Použitím useState s funkcí, aby se zabránilo opětovnému spuštění při každém renderu: ``` const [state, setState] = useState(getComplexData); // nebo const [state, setState] = useState(() => getComplexData()); ``` - Funkce předaná do useState se spustí pouze jednou při načtení komponenty. - Varování před přímou mutací stavu na řádku 11 s prev.concat. --- Technický úkol je analyzovat a případně opravit nebo optimalizovat kód komponenty React, zejména: - Správná lazy inicializace stavu pomocí useState. - Vyvarovat se přímé mutace stavu. - Pochopení generik TypeScript a typových strážců. - Zajistit, aby komponenta správně aktualizovala stav při kliknutí na tlačítko.
Co je to uzávěr?
Existují tři zdroje dat, které vracejí stejné informace. Jak získat odpověď od nejrychlejšího?
Jaký je rozdíl mezi Map a WeakMap?
Pověz mi o hooku useState v Reactu.
Jak se v JavaScriptu vytvářejí funkce? Jaké jsou způsoby vytváření funkcí a v čem se liší?
Proč nelze s šipkovými funkcemi pracovat s konstruktoru new?
Jaké utilitární typy TypeScript používáš při práci? Povídej o Record, Pick, Omit, Partial, Required, Parameters, Exclude, Extract.