Cosa fa l'operatore in in TypeScript?
Frontend
Parla di useCallback — scenario di utilizzo, a cosa serve?
Parla del lavoro con i moduli in React: componenti controllati e non controllati, vantaggi e svantaggi di ogni approccio.
const LiveSearch = () => { const [inputValue, setInputValue] = useState('') const onInputChange = (e) => { setInputValue(e.target.value) search(e.target.value) } return ( <div> <input value={inputValue} onChange={onInputChange} type="text" /> </div> ) } <span> Ricerca: <LiveSearch /> </span>
Compito: attraversare un albero di oggetti (ogni oggetto ha campi value e elements) e calcolare la somma di tutti i valori. Come lo implementeresti?
Parlami delle fasi del ciclo di vita dei componenti React
Hai mai lavorato con Blob? Come creare un link per scaricare un file generato dinamicamente?
const X = { a: 1, b: 2, c: 3, d: 4 } function getProperty(obj, key) { // Compito: tipizzare la funzione return obj[key] } getProperty(X, 'a') // nessun errore getProperty(X, ' ') // errore: la chiave non è valida per l'oggetto X getProperty({ name: 'Sergey' }, 'name') // nessun errore
Cos'è React.memo? Quando si applica useCallback?
// I dati del server sul prezzo del prodotto sono ricevuti sotto forma di: // 12345678 (il prezzo può essere qualsiasi numero nell'intervallo da 1 a [phone]) // è necessario scrivere una funzione che converta il prezzo in una stringa formattata come segue: // 12'345'678
function sum(a, b) { return a + b; } function memo() {}
import React, { useState, useEffect, useRef, useContext, useReducer, useMemo } from 'react'; export default () => { const [count, setCount] = useState(0); useLayoutEffect(() => console.log("ogni render 1")); console.log("ogni render 2"); useEffect(() => { console.log("ogni render 3"); return () => { console.log(4); }; }, [count]); return ( <button onClick={() => setCount((prevProps) => ++prevProps)}> Incrementa </button> ); }
Cos'è una funzione di pulizia (cleanup) in useEffect? Quando viene eseguita? Scrivila in useEffect.
const { foo: [bar], bar: [{ baz: foo }] } = { foo: [1], bar: [{ baz: 3 }] } console.log(bar) console.log(foo) //
Parla del Virtual DOM e del meccanismo di reconciliation in React. Come ottimizza React il confronto degli alberi?
Come scrivere una funzione che restituisce una Promise che si risolve dopo un secondo?
let x = 5; (function () { console.log(x); let x = 0; })()
Come mostrare un banner una sola volta per un utente autenticato su tutti i suoi dispositivi?
Hai ricevuto un codice per la revisione — cosa non è ottimale qui?
Come implementare una traversata dell'albero senza ricorsione? Quale struttura dati aiuta?