Pytania otagowane jako react-hooks

Hooki to nowa funkcja, która pozwala programistom używać stanów i innych funkcji Reacta bez pisania klasy.

10
Reaguj hooki useState () z Object
Jaki jest poprawny sposób aktualizowania stanu, czy obiekt zagnieżdżony w React with Hooks? export Example = () => { const [exampleState, setExampleState] = useState( {masterField: { fieldOne: "a", fieldTwo: { fieldTwoOne: "b" fieldTwoTwo: "c" } } }) Jak można użyć setExampleStateaktualizacji exampleStatedo a(dołączania pola)? const a = { masterField: { …

13
Nieskończona pętla w useEffect
Bawiłem się nowym systemem przechwytywania w React 16.7-alpha i utknąłem w nieskończonej pętli w useEffect, gdy obsługiwany stan jest obiektem lub tablicą. Najpierw używam useState i inicjuję go z pustym obiektem, takim jak ten: const [obj, setObj] = useState({}); Następnie w useEffect używam setObj, aby ponownie ustawić go na pusty …

5
React.useState nie przeładowuje stanu z właściwości
Oczekuję, że stan załaduje się ponownie po zmianie właściwości, ale to nie działa i userzmienna nie jest aktualizowana przy następnym useStatewywołaniu, co jest nie tak? function Avatar(props) { const [user, setUser] = React.useState({...props.user}); return user.avatar ? (<img src={user.avatar}/>) : (<p>Loading...</p>); } codepen


5
Spraw, aby hak React useEffect nie działał przy początkowym renderowaniu
Według dokumentów: componentDidUpdate()jest wywoływana natychmiast po wystąpieniu aktualizacji. Ta metoda nie jest wywoływana przy pierwszym renderowaniu. Możemy użyć nowego useEffect()hooka do symulacji componentDidUpdate(), ale wygląda na to, że useEffect()jest uruchamiany po każdym renderowaniu, nawet za pierwszym razem. Jak sprawić, by nie działał przy początkowym renderowaniu? Jak widać w poniższym przykładzie, …

5
reaguj na haki czyszczenie useEffect () tylko dla componentWillUnmount?
Pozwólcie, że wyjaśnię wynik tego kodu, aby łatwo zadać mój problem. const ForExample = () => { const [name, setName] = useState(''); const [username, setUsername] = useState(''); useEffect(() => { console.log('effect'); console.log({ name, username }); return () => { console.log('cleaned up'); console.log({ name, username }); }; }, [username]); const handleName …

4
Ustaw typy dla hooka useState React z TypeScript
Migruję projekt React z TypeScript, aby korzystać z funkcji hooków (React v16.7.0-alpha), ale nie mogę dowiedzieć się, jak ustawić typizację zniszczonych elementów. Oto przykład: interface IUser { name: string; } ... const [user, setUser] = useState({name: 'Jon'}); Chcę, aby userzmienna była typu IUser. Moja jedyna zakończona sukcesem wersja próbna obejmuje …


4
seter haka useState niepoprawnie nadpisuje stan
Oto problem: próbuję wywołać 2 funkcje jednym kliknięciem przycisku. Obie funkcje aktualizują stan (używam haka useState). Pierwsza funkcja poprawnie aktualizuje wartość 1 do „nowej 1”, ale po 1 s (setTimeout) uruchamia się druga funkcja i zmienia wartość 2 na „nową 2” ALE! Ustawia wartość 1 z powrotem na „1”. Dlaczego …

3
Odbiornik Firebase z hakami React
Próbuję wymyślić, jak korzystać z nasłuchiwania Firebase, aby dane firestore w chmurze były odświeżane za pomocą aktualizacji hooków reagowania. Początkowo zrobiłem to przy użyciu komponentu klasy z funkcją componentDidMount, aby uzyskać dane firestore. this.props.firebase.db .collection('users') // .doc(this.props.firebase.db.collection('users').doc(this.props.firebase.authUser.uid)) .doc(this.props.firebase.db.collection('users').doc(this.props.authUser.uid)) .get() .then(doc => { this.setState({ name: doc.data().name }); // loading: false, }); …

3
Nie można odczytać właściwości „historii” niezdefiniowanej (hook użytkownika useHistory w React Router 5)
Korzystam z nowego haka useHistory React Router, który pojawił się kilka tygodni temu. Moja wersja React-routera to 5.1.2. Mój React jest w wersji 16.10.1. Mój kod możesz znaleźć na dole. Jednak kiedy importuję nowe useHistory z React-Routera, pojawia się ten błąd: Uncaught TypeError: Cannot read property 'history' of undefined który …



1
TypeError: (0, _react.useEffect) nie jest funkcją
w środowisku programistycznym moja aplikacja działa dobrze. W środowisku produkcyjnym ulega awarii z błędem: Uncaught TypeError: (0 , _react.useEffect) is not a function Zdarza się to w utworzonym przeze mnie pliku, w którym importuję React i useEffect w następujący sposób: import React, { useEffect } from 'react' const X = …

3
useEffect - Zapobiega nieskończonej pętli podczas aktualizacji stanu
Chciałbym, aby użytkownik mógł posortować listę rzeczy do zrobienia. Gdy użytkownicy wybiorą element z listy rozwijanej, ustawi, sortKeyktóra utworzy nową wersję setSortedTodos, a następnie uruchomi useEffecti zadzwonisetSortedTodos . Poniższy przykład działa dokładnie tak, jak chcę, jednak eslint zachęca mnie do dodania todosdo useEffecttablicy zależności, a jeśli to zrobię, spowoduje nieskończoną …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.