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: { …
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 …
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
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, …
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 …
Standardowy sposób korzystania z React useState Hook jest następujący: const [count, setCount] = useState(0); Jednak ta const countzmienna zostanie wyraźnie przypisana do innej pierwotnej wartości. Dlaczego zatem zmienna nie jest zdefiniowana jako let count?
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 …
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, }); …
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 …
Haczyki React dają nam opcję useState i zawsze widzę porównania Hooks vs Klasa-Stan. Ale co z hakami i niektórymi regularnymi zmiennymi? Na przykład, function Foo() { let a = 0; a = 1; return <div>{a}</div>; } Nie użyłem Haków, a to da mi takie same wyniki jak: function Foo() { …
Robię niestandardowy hak, który ma toogle, gdy zmieni się jakiś stan. Powinieneś być w stanie przekazać dowolny stan w tablicy. import { useState, useEffect } from 'react' const useFlatListUpdate = (dependencies = []) => { const [toggle, setToggle] = useState(false) useEffect(() => { setToggle(t => !t) }, [...dependencies]) return toggle …
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 = …
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ą …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.