я начинаю фетчить дату - делать setState что я её фетчу, к примеру isOnLoading = true
Но после этого, мне нужно как я закончу фетчить дату поставить setState isOnLoading=false, и к примеру это все в 1 методе, это реально? Или какие есть решения?
санки юзай
Если у тебя асинхронщина внутри компонента - делай это внутри useEffect Там можно await-ить промисс и делать чё тебе надо
Классовые компоненты, тут без хуков мне нужно сделать
И это отработает? Типо await setState и т.д.?
setState промис не возвращает
Тогда причём тут await?
this.setState() const data = await fetch() this.setState()
И это реально будет работать адекватно?
Я не понял, что ты хочешь
Тю, а в чем проблема?
Да, я думал что setState нужно только 1 раз в функции юзать и не более
Откуда возникло такое мнение?)
Ну, хз) т.е. так делать - ок?
в теории ок на практике делать запросы из компонентов грешно
У меня запросы вообще без компонентов делаются, в компонент я передаю только некоторый сильно упрощённый для этого API
если тимлид не видит, то можно
А как без множественного setState в 1 функции решить такое?
Да проблема не во множественном setState
нормальная практика — обрабатывать асинхронщину в стейт-менеджере с соответствующими инструментами
Понятненько, до стейт-менеджеров не дошёл ещё, правда уже видел что что-то на Redux сильно много кто гонит, аля плохой и все такое
тогда продолжай в том же духе
Если хочешь делать запросы из компонентов - лучшее, как это можно делать - посмотреть на что-то типа react-query.
лучше чуть разобраться и свой см написать как я
Мы все еще ждем рассказа о паттернах и о вашем великом стм)
У меня запрос выглядит вот так: const { results, total_results: moviesCount } = await getFilms(query, page);
Это название нельзя произносить вслух
Та не, это название занято
коммерческая тайна
stateManager9000WithBigPinkDildo
СберСтейтМенеджер
Апхх хорош
А можно с этого момента поподробнее?... Откуда же их тогда делать?
Компонент дергает функцию из стм, стм дергает функцию из апи слоя, апи слой делает запрос
У меня используются функциональные компоненты и хуки. И потом допустим в обработчике клика или в useEffect (вроде бы не очень хорошо?) идет аякс запрос к апи бекенда. Правильнее ввести промежуточный компонент который будет дергать запросы к серверу?
компоненты только функции вызывают из стм к примеру
Что вы понимаете под стм? redux/modx?
мы запросы на сервер делаем через санки или сагу
Компонент дергает функцию из стм, стм дергает функцию из апи слоя, апи слой делает запрос
Обсуждают сегодня