მოწოდეთ getUserProfile ფუნქცია, რომელიც იღებს userId-ს არგუმენტად და იღებს მომხმარებლის პროფილს API-ის ბოლო წერტილიდან "[link]". ფუნქციამ უნდა ჩაწეროს მომხმარებლის პროფილი, თუ fetch წარმატებით დასრულდა, და ჩაწეროს შეცდომის შეტყობინება, თუ fetch ვერ მოხერხდა.
Frontend
რომელი სტატიკური მეთოდები იცით Promise-დან? გვითხარით მათ შესახებ.
რა არის Set? რა შეგვიძლია გადავცეთ, როდესაც ვიძახით new Set?
import React, { useState, useEffect, useLayoutEffect } from 'react'; export default () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("ყოველი რენდერი 1")); console.log("ყოველი რენდერი 2"); useEffect(() => console.log("ყოველი რენდერი 3")); return ( <button onClick={() => setCount((prevProps) => ++prevProps)}> გაზარდე </button> ); } // მონტაჟი -> ყოველი რენდერი 2, ყოველი რენდერი 1, ყოველი რენდერი 3 // განახლება -> ყოველი რენდერი 2, ყოველი რენდერი 1, ყოველი რენდერი 3 // ამოღება 4
let და const (hoisting) ამაღლებულია? რა ხდება მათზე მიმართვისას მათზე განცხადების წინ?
const S = { id: 1, name: "Ivan", age: "39", tel: [phone] }; function getParam(obj, key) { return obj[key]; } getParam(S, "tel"); getParam(S, "job");
წერეთ Child კომპონენტის აბსტრაქტული განხორციელება React.memo-ის მეხსიერებით. რა მეორე არგუმენტი მიიღება React.memo-ით?
დაწერეთ, რა მოხდება პირველ რენდერზე — რა თანმიმდევრობით გამოჩნდება console.log'ები. რა მოხდება კლიკის შემდეგ?
რა არის WeakSet?
იმპორტი 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}> Инкремент </button> <ul> {arr.map((n, index) => <li key={index}>{n}</li>)} </ul> </> ); }; export default () => <LazyInit arr={[1, 2, 3]} />; --- Дискуссия на правой стороне обсуждает: - Использование TypeScript с обобщениями: "<T extends object, K extends keyof T>" - Проверка, является ли данные строкой, с помощью охранника типа: "isString(data: unknown): data is string { ... }" - Использование useState с функцией, чтобы избежать повторного выполнения при каждом рендере: ``` const [state, setState] = useState(getComplexData); // или const [state, setState] = useState(() => getComplexData()); ``` - Функция, переданная в useState, выполнится только один раз при монтировании компонента. - Предупреждение о прямом изменении состояния в строке 11 с prev.concat. --- Техническое задание — проанализировать и, возможно, исправить или оптимизировать код компонента React, особенно: - Правильная ленивая инициализация состояния с помощью useState. - Избегать прямой мутации состояния. - Понимание обобщений TypeScript и охранников типа. - Обеспечить правильное обновление состояния компонента при клике на кнопку.
რა არის დახურვა?
მესამე მონაცემთა წყაროები, რომლებიც ერთსა და იმავე ინფორმაციას აბრუნებენ. როგორ მიიღოთ პასუხი ყველაზე სწრაფი წყაროდან?
რა განსხვავებაა Map და WeakMap შორის?
მითხარი React-ის useState ჰუკის შესახებ.
რატომ არ შეიძლება ახალი კონსტრუქტორით მუშაობა стрелკული ფუნქციებით?
როგორ იქმნება ფუნქციები JavaScript-ში? რა მეთოდები არსებობს ფუნქციების შექმნისა და რა განსხვავებები აქვთ მათ?
რა ტიპების სასარგებლო TypeScript-ი იყენებ სამუშაოს დროს? ისაუბრე Record, Pick, Omit, Partial, Required, Parameters, Exclude, Extract-ის შესახებ.