const SomeElement = ({ hasData }) => { if (hasData) { return <div> <DataElement /> <SomeImportantElement /> </div> } return <div> <SomeImportantElement /> </div> }
Frontend
Mesélj a React Hook Form-ról: fő lehetőségek, hogyan használják, hogyan működik az érvényesítés?
const { foo: [bar], bar: [{ baz: foo }] } = { foo: [1], bar: [{ baz: 3 }] } console.log(bar) console.log(foo) //
Mi a különbség a renderelés és a festés között? Hogy hívják azt a folyamatot, amikor összehasonlítjuk a virtuális és a valódi DOM-fát?
const { foo: bar, bar: foo } = { foo: 1, bar: 2 }; //foo //bar setTimeout(() => { console.log("timeOut"); }, 0); console.log(1); new Promise((resolve) => { console.log("Promise"); setTimeout(() => { console.log("timeOut2"); resolve(); }, 0); }) .then(() => { console.log("then1"); }) .then(() => { console.log("then2"); }); console.log(4); setTimeout(() => { console.log("timeOut3"); }, 0);
Kaptál egy kódot felülvizsgálatra — mi nem optimális itt?
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo, me 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]} />;
Hogyan írjunk olyan függvényt, ami egy másodperc múlva feloldódó Promise-t ad vissza?
Mi az a closure JavaScript-ben? Hol használják a gyakorlatban?
Mi történik, ha nem ad meg függőségi tömböt a useEffect-ben? Ha hozzáadja a count-ot a függőségi tömbhöz és megnyomja a gombot, lefut-e a cleanup-függvény?
Magyarázd el, mi az az Event Loop. Mi tartozik a mikrotaskokhoz és mi a makrotaskokhoz?
const createCounter = () => {
Mesélj az eseményhurkról: hogyan működik, mikrotaskok és makrotaskok miért vannak?
Adj egy példát a lezárásra. Használtál lezárásokat a React-ben?
Az unknown típus mire való a TypeScript-ben? Hogyan lehet szűkíteni a típust?
const a = {} a[1] = 'test' ért ( ... )
setTimeout(() => { console.log("timeOut"); }, 0) console.log(1); new Promise(resolve => { console.log("Promise"); setTimeout(() => { console.log("777"); resolve() }, 0) }).then(() => { console.log("then1"); }) .then(console.log('tratata')) .then(() => console.log("then2"); }) console.log(4); setTimeout(() => { console.log("timeOut2"); }, 0)
const doSomething = (ms) => { return new Promise((resolve, reject) => { setTimeout(() => { if (Math.random() <= 0.5) { reject("error"); } else { resolve(ms); } }, ms); }); }; const getDelay = () => { let rand = 1000 + Math.random() * 2000; return Math.floor(rand); }; const p1 = doSomething(getDelay()); const p2 = doSomething(getDelay()); const p3 = doSomething(getDelay()); const p4 = doSomething(getDelay());
Mesélj a JavaScript Map és Set gyűjteményekről — mit tudsz róluk?
Mi a különbség a sessionStorage és a localStorage között?