Вопросы с тегом «react-hooks»

Хуки - это новая функция, которая позволяет разработчикам использовать состояние (я) и другие функции React без написания класса.

5
реагировать на хуки useEffect () очистка только для componentWillUnmount?
Позвольте мне объяснить результат этого кода, чтобы легко задать мою проблему. 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
Набор типов в useState React Hook с TypeScript
Я переношу проект React с TypeScript для использования функций перехватчиков (React v16.7.0-alpha), но я не могу понять, как установить типизацию деструктурированных элементов. Вот пример: interface IUser { name: string; } ... const [user, setUser] = useState({name: 'Jon'}); Я хочу, чтобы userпеременная была типа IUser. Мое единственное успешное испытание состоит из …

4
Почему React Hook useState использует const, а не let
Стандартный способ использования React useState Hook заключается в следующем: const [count, setCount] = useState(0); Однако эта const countпеременная явно будет переназначена на другое примитивное значение. Почему тогда переменная не определена как let count?

4
установщик ловушки useState неправильно перезаписывает состояние
Вот проблема: я пытаюсь вызвать 2 функции одним нажатием кнопки. Обе функции обновляют состояние (я использую хук useState). Первая функция корректно обновляет значение 1 до «нового 1», но через 1 с (setTimeout) запускается вторая функция, и она меняет значение 2 до «нового 2», НО! Он устанавливает значение 1 обратно в …

3
Firebase слушатель с React Hooks
Я пытаюсь понять, как использовать прослушиватель Firebase, чтобы данные облачного хранилища обновлялись с помощью обновлений активных перехватчиков. Первоначально я сделал это, используя компонент класса с функцией componentDidMount, чтобы получить данные о пожарном депо. 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
Невозможно прочитать свойство 'history' из undefined (использовать ловушку истории React Router 5)
Я использую новый крючок useHistory от React Router, который вышел несколько недель назад. Моя версия React-роутера 5.1.2. Мой Реакт находится на версии 16.10.1. Вы можете найти мой код внизу. Тем не менее, когда я импортирую новую историю использования из реагирующего маршрутизатора, я получаю эту ошибку: Uncaught TypeError: Cannot read property …

5
React Hooks - использование useState против просто переменных
React Hooks дают нам опцию useState, и я всегда вижу сравнения Hooks и Class-State. Но как насчет хуков и некоторых обычных переменных? Например, function Foo() { let a = 0; a = 1; return <div>{a}</div>; } Я не использовал крючки, и это даст мне те же результаты, что и: function …

1
Как создать пользовательский хук, который получает зависимости?
Я делаю кастомный хук, который имеет переключатель при изменении состояния. Вы должны быть в состоянии передать любое состояние в массиве. import { useState, useEffect } from 'react' const useFlatListUpdate = (dependencies = []) => { const [toggle, setToggle] = useState(false) useEffect(() => { setToggle(t => !t) }, [...dependencies]) return toggle …

1
Ошибка типа: (0, _react.useEffect) не является функцией
когда в среде разработки, мое приложение работает просто отлично. В производственной среде происходит сбой с ошибкой: Uncaught TypeError: (0 , _react.useEffect) is not a function Это происходит в файле, который я создал, куда я импортирую React и используюEffect следующим образом: import React, { useEffect } from 'react' const X = …

3
useEffect - предотвратить бесконечный цикл при обновлении состояния.
Я бы хотел, чтобы пользователь мог сортировать список элементов задач. Когда пользователь выбирает элемент из выпадающего списка, он устанавливает, sortKeyкоторый создаст новую версию setSortedTodos, и, в свою очередь, вызывает useEffectвызов и setSortedTodos. Приведенный ниже пример работает именно так, как я хочу, однако eslint побуждает меня добавить todosк useEffectмассиву зависимостей, и …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.