Kādus statiskos metodes Promise pazīsti? Pastāsti par tiem.
Frontend
Uzrakstiet funkciju getUserProfile, kas ņem userId kā argumentu un iegūst lietotāja profilu no API galapunkta "[link]". Funkcija jāreģistrē lietotāja profils, ja piekļuve ir veiksmīga, un jāreģistrē kļūdas ziņojums, ja piekļuve neizdodas.
Vai let un const (hoisting) tiek paceltas? Kas notiek, ja pie tiem piekļūst pirms to deklarēšanas?
const S = { id: 1, name: "Ivan", age: "39", tel: [phone] }; function getParam(obj, key) { return obj[key]; } getParam(S, "tel"); getParam(S, "job");
Kas ir Set? Ko mēs varam nodot, izsaucot new Set?
import React, { useState, useEffect, useLayoutEffect } from 'react'; export default () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("katrs renderējums 1")); console.log("katrs renderējums 2"); useEffect(() => console.log("katrs renderējums 3")); return ( <button onClick={() => setCount((prevProps) => ++prevProps)}> Palielināt </button> ); } // montāža -> katrs renderējums 2, katrs renderējums 1, katrs renderējums 3 // atjaunināšana -> katrs renderējums 2, katrs renderējums 1, katrs renderējums 3 // noņemšana 4
Uzrakstiet, kas notiks pirmajā renderēšanā — kādā secībā tiks izvadīti console.log. Kas notiks pēc klikšķa?
Uzrakstiet Child komponenta abstraktu realizāciju ar memoizāciju, izmantojot React.memo. Kāds ir otrais arguments, ko pieņem React.memo?
Kas ir WeakSet?
Kas ir slēgšana?
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}> Palielināt </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ); }; export default () => <LazyInit arr={[1, 2, 3]} />; --- Labajā pusē notiek diskusija par: - TypeScript ar ģenerikiem: "<T extends object, K extends keyof T>" - Pārbaudi, vai dati ir virknes tips, izmantojot tipu sargu: "isString(data: unknown): data is string { ... }" - useState izmantošanu ar funkciju, lai izvairītos no atkārtotas izpildes katrā renderēšanā: ``` const [state, setState] = useState(getComplexData); // vai const [state, setState] = useState(() => getComplexData()); ``` - Funkcija, kas nodota useState, tiks izpildīta tikai vienu reizi komponenta montāžas laikā. - Brīdinājums par tiešu stāvokļa modifikāciju 11. rindā ar prev.concat. --- Tehniskais uzdevums ir analizēt un iespējams labot vai optimizēt React komponenta kodu, īpaši: - Pareiza lazy inicializācija ar useState. - Izvairīties no tiešas stāvokļa modifikācijas. - Saprast TypeScript ģenerikus un tipu sargus. - Nodrošināt, ka komponenta stāvoklis tiek pareizi atjaunināts, nospiežot pogu.
Kāda ir atšķirība starp Map un WeakMap?
Ir trīs datu avoti, kas atgriež to pašu informāciju. Kā saņemt atbildi no visātrākā?
Pastāsti man par useState hook'u React.
Kāpēc ar bultiņas funkcijām nevar strādāt ar jauno konstruktoru?
Kā JavaScript tiek veidotas funkcijas? Kādi ir funkciju veidošanas veidi un kā tie atšķiras?
Kādus utilitāros tipus no TypeScript izmanto darba? Pastāsti par Record, Pick, Omit, Partial, Required, Parameters, Exclude, Extract.