const SomeElement = ({ hasData }) => { if (hasData) { return <div> <DataElement /> <SomeImportantElement /> </div> } return <div> <SomeImportantElement /> </div> }
Frontend
Du hast einen Code zur Überprüfung erhalten — was ist hier nicht optimal?
Erzählen Sie mir von React Hook Form: Hauptfunktionen, wie es verwendet wird, wie die Validierung funktioniert?
Was ist der Unterschied zwischen Rendering und Malen? Wie heißt der Prozess des Vergleichs zwischen dem virtuellen und dem realen DOM-Baum?
// Die Methode findUnique wird auf das Array angewendet, die ein neues Array mit den einzigartigen Elementen zurückgibt, // das heißt, diejenigen, die im ursprünglichen Array nur einmal vorkommen, in der gleichen Reihenfolge. // Es ist notwendig, die Methode findUnique zu implementieren, damit sie wie eine normale Array-Methode funktioniert [10, 5, 10, 1, 6, 6, 7, 9, 9, 10].findUnique(); // [5, 1, 7]
Was passiert, wenn man kein Abhängigkeitsarray in useEffect angibt? Wenn man count zum Abhängigkeitsarray hinzufügt und auf die Schaltfläche klickt, wird die Bereinigungsfunktion ausgeführt?
Was ist eine Closure in JavaScript? Wo wird sie in der Praxis verwendet?
Abgesehen von Methoden und Schlüsseltypen, was hat Map noch, was ein Objekt nicht hat?
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}> Erhöhen </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ) } export default () => <LazyInit arr={[1, 2, 3]} />;
Geben Sie ein Beispiel für eine Closure. Haben Sie Closures in React verwendet?
const a = {} a[1] = 'test' für ( ... )
Erzähle mir von den Collections Map und Set in JavaScript — was weißt du darüber?
Was ist der Unterschied zwischen sessionStorage und localStorage?
Erklären Sie, was die Event Loop ist. Was gehört zu den Mikrotasks und was zu den Makrotasks?
Worin besteht der Unterschied zwischen den Typen any und unknown in TypeScript?
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)
Wofür ist der Typ unknown in TypeScript? Wie kann man den Typ einschränken?
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());
const func = obj.sayHi() const boundFuns = func.bind(obj) boundFuns() ------------------- const submit = (el) => () => { log(el); } arr.map(el => <button onClick={submit(el)}/>) const param = useMemo(() => a + b) return <Child value={param} />
Welche Gültigkeitsbereiche haben let/const und var? Gibt es eine weitere Möglichkeit, Variablen außer var, let, const zu deklarieren?