თუ ფუნქცია გამოიყენება useEffect-ის დამოკიდებულების სიაში, უნდა იყოს ის useCallback-ით დაფუთული?
Frontend
რა მიზნით გამოიყენება useMemo; რა მძიმე გამოთვლები შეიძლება იყოს ფრონტენდზე?
რა განსხვავებაა git fetch და git pull-ს შორის?
[სახელი] საუბრობდა საკუთარ თავზე და თავისი გამოცდილებაზე ფრონტენდ განვითარების სფეროში.
React-ის hook useRef რა მიზნით გამოიყენება?
რა მიზნით გამოიყენება useEffect? გამოგიყვანეთ მაგალითები HTTP მოთხოვნებს გარდა.
სიტუაციური დავალება: დიდი XML ფაილების სინქრონული ატვირთვა გამოიწვია CPU-bound გადატვირთვა, დროის გამტარუნარიანობა და კავშირების გაწყვეტა. როგორ შეცვლიდით ურთიერთქმედებას ფრონტენდსა და ბექენდს შორის, რათა სერვერმა მართოს ნაკადი და მომხმარებელმა იხილოს პროგრესი?
როგორ გამოიყენეთ SOLID პრინციპები ფრონტენდ კომპონენტების განვითარებაში?
მზად ხართ ოფისში მუშაობისთვის?
სწრაფად აღწერეთ თქვენი გამოცდილება ლოგისტიკაში 2016-2021 წლებში: რა გააკეთეთ?
რა არის React-ში კომპონენტზე დაფუძნებული მიდგომა როგორც არქიტექტურული ნიმუში? როგორ შეიძლება ის გამოყენებულ იქნას მოცემულ კოდზე?
თუ merge მოთხოვნის შექმნისას სხვა დეველოპერის კოდთან კონფლიქტები აღმოაჩენთ, რა გააკეთებთ და როგორ მინიმუმამდე მიიყვანთ ასეთ კონფლიქტებს მომავალში?
თქვენ მუშაობდით useLayoutEffect-თან და როგორ განსხვავდება ის useEffect-დან?
რა მიზნით გამოიყენება useCallback და useMemo, და რა არის ამ ჰუქების გადამეტებული გამოყენების უარყოფითი მხარე?
გქონიათ თუ არა გამოცდილება git rebase-ის გამოყენებაში?
სიტუაციური დავალება: უნდა შექმნათ გვერდი XML ფაილების ატვირთვისთვის თავიდან, სერვერი მათ დიდ დროს CPU-bound დავალებებით processing დააბრუნებს. რა იქნება თქვენი პირველი ნაბიჯები კოდის დაწერის წინ?
შეიძლება მსგავსი კომპონენტი დროებთან მუშაობისთვის, რომელიც 90%-ს მოიცავს, მაგრამ განსხვავდება props-ში და შეიცავს hardcoded სტილებს. როგორ გააგრძელებდით?
რას გულისხმობთ ტერმინში "მაღალი დატვირთვის ინტერფეისების შექმნა"?
import { useEffect, useState } from "react"; export const TaskList = ({ api, filter }) => { const [tasks, setTasks] = useState([]); const [newTitle, setNewTitle] = useState(""); useEffect(() => { api.getTasks(filter).then((res) => setTasks(res)); const interval = setInterval(() => { api.getTasks(filter).then((res) => setTasks(res)); }, 3000); }, [filter, api]); const addTask = () => { tasks.push({ id: Date.now(), title: newTitle, status: "active" }); setTasks(tasks); setNewTitle(""); }; return ( <div style={{ padding: 10 }}> <input value={newTitle} onChange={(e) => setNewTitle(e.target.value)} /> <button onClick={addTask}>Add Task</button> <div>Active: {tasks.filter((t) => t.status === "active").length}</div> <ul> {tasks.map((task) => ( <li key={task.title} style={{ color: task.status === "done" ? "gray" : "black" }} > {task.title} </li> ))} </ul> </div> ); };
სიტუაციური დავალება: დამუშავების შედეგი შეიძლება შეიცავდეს ათასობით ან ათასობით შენიშვნას; პასუხი გრძელ დროს გრძელდება და ბრაუზერი გაჩერდება რენდერის დროს. რა გირჩევთ?