Milyen statikus Promise-metódusokat ismersz? Mesélj róluk.
Frontend
Írjon egy getUserProfile nevű függvényt, amely egy userId-t argumentumként vesz, és lekéri a felhasználói profilt az API végpontjáról "[link]". A függvénynek be kell írnia a felhasználói profilt, ha a lekérés sikeres, és hibaüzenetet, ha a lekérés sikertelen.
import React, { useState, useEffect, useLayoutEffect } from 'react'; export default () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("minden renderelés 1")); console.log("minden renderelés 2"); useEffect(() => console.log("minden renderelés 3")); return ( <button onClick={() => setCount((prevProps) => ++prevProps)}> Növel </button> ); } // mount -> minden renderelés 2, minden renderelés 1, minden renderelés 3 // update -> minden renderelés 2, minden renderelés 1, minden renderelés 3 // unmount 4
Mi az a Set? Mit adhatunk át, amikor a new Set-et hívjuk meg argumentumként?
A let és a const (hoisting) felhúzódik? Mi történik, ha hozzáférünk előttük a deklarációjuknak?
const S = { azonosító: 1, név: "Ivan", életkor: "39", tel: [phone] }; function getParam(obj, key) { return obj[key]; } getParam(S, "tel"); getParam(S, "job");
Írj egy absztrakt implementációt a Child komponensről React.memo segítségével. Mi a második argumentum, amit a React.memo elfogad?
Írd le, mi fog történni az első rendereléskor — milyen sorrendben jelennek meg a console.log-ok. Mi történik a kattintás után?
Mi az a 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}> Növel </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ) } export default () => <LazyInit arr={[1, 2, 3]} />; --- A jobb oldali beszélgetés a következőkről szól: - TypeScript generikus típusok használata: "<T extends object, K extends keyof T>" - Ellenőrzés, hogy az adat string-e egy típusvédővel: "isString(data: unknown): data is string { ... }" - useState használata egy függvénnyel, hogy elkerüljük az újrafuttatást minden rendernél: ``` const [state, setState] = useState(getComplexData); // vagy const [state, setState] = useState(() => getComplexData()); ``` - A useState-hez átadott függvény csak egyszer fut le a komponens betöltésekor. - Figyelmeztetés a state közvetlen módosítására a 11. sorban prev.concat használatával. --- A technikai feladat az, hogy elemezze és esetleg javítsa vagy optimalizálja a React komponens kódját, különösen: - A helyes lazy inicializálás useState segítségével. - A közvetlen state módosítás elkerülése. - A TypeScript generikus típusok és típusvédők megértése. - Biztosítani, hogy a komponens helyesen frissítse az állapotot a gombnyomáskor.
Mi az a lezárás?
Három adatforrás van, amelyek ugyanazt az információt adják vissza. Hogyan lehet a leggyorsabbat elérni?
Mi a különbség a Map és a WeakMap között?
Mesélj a useState hook-ról a React-ben.
Hogyan készülnek a függvények JavaScriptben? Milyen módszerek vannak a függvények létrehozására, és miben különböznek?
Miért nem lehet az arrow függvényekkel a new konstruktorral dolgozni?
Milyen utilitarista típusokat használsz a TypeScript-ben a munkád során? Beszélj a Record, Pick, Omit, Partial, Required, Parameters, Exclude, Extract típusokról.