Pavel
Спасибо )
Таймураз
пользователя может
Эмм, ты понимаешь, сколько занимает один объект в памяти?
Tokhtar
ntc
Yu
Здравствуйте
Miguel
Здравствуйте люди
Miguel
Подскажите, где можно располагать наивные вопросы по React? ) Я только начал изучать.
Yu
Учусь в React, хочу реализовать в реальном временни изменение из textarea в state проверял через консоль логи все верно пути направлены и пропсы тоже однако у меня не пушатся данные, выдает ошибку, мб кто то подскажет почему?
Yu
Yu
Yu
Yu
Макс
Какую ошибку???
Yu
Yu
она срабатывает при вводе текста в textarea
artalar
При использовании import { renderHook } from '@testing-library/react-hooks' маунт не происходит? Чет у меня колбек в useEffect не срабатывает изначальный
Sheldhur
как на хуках сделать теплый ламповый componentWillUnmount, у которого 1) срабатываение не будет зависеть от изменения стейта 2) вызовется лишь в момент анмаунта компонента 3) ему будут доступны текущее стейты компонента useEffect( () => { return () => {} } , [] ); да, это не зависит от изменений стейта, да вызывается один раз, но в данном случае невозможно получить текущией значения стейта
Дмитрий
Подскажите. Вот импортировал json, закинул в массив. Как теперь взять из него него определенные данные? Если написать console.log(cities.population), то пишет undefined
Дмитрий
Вот что в консоль выводит, вроде все норм
Артем
ну у тебя же массив теперь... cities[0].population
Дмитрий
Спасибо) новичок просто) только начинаю разбираться)
Артем
Тогда начни типы данных и методы работы с ними изучать
Dima
или в чем проблема
Dima
подозреваю что это происходит потому что функция возвращаемая из useEffect должна обновляться при обновлении состояния
Dima
иначе в ее контексте лежат значения полученные при инциализации
Sheldhur
Заебись
Андрей
Напиши класс и не мучай мозг)
Sheldhur
А есть готовый? Или тут универсального решения нет?
Sheldhur
Там уже на хуках наляпано
Андрей
А есть готовый? Или тут универсального решения нет?
Я не видел. Это, кстати, интеерсная задача. Я бы попозже написал бы.
🤴👷‍♂️🦸‍♂️🧚‍♀️
и то я думаю что раз юзать лейзи, то тот кусок, который подгружается - будет весить в совокупности больше, чем в одном бандле
У тебя в итоге будет чанк, я так сделал для документации. В итоге документация на 330 кб, а приложение на 300. Вроде все отлично
Dima
А в чем проблема? Ну пусть он срабатывает на каждое изменение стейта, нагрузка почти нулевая
Андрей
А в чем проблема? Ну пусть он срабатывает на каждое изменение стейта, нагрузка почти нулевая
Особенно когда там какой-нибудь запрос или другой важный сайд. эффект.
Dima
Создать пустое тело юзеффекта со всеми нужными зависимостями и только возвращать там функцию
Dima
Покажи код.
Это нужно адресовать автору вопроса) у него вся специфика
Igor
основной бандл на 1мб, есть другие чанки, например для работы с пдф
Андрей
В примере Swiper для React после загрузки страницы я получаю сразу готовый слайдер. А у себя я получаю первый слайд и после непонятной мне махинации слайдер полностью инициализируется. Почему ? https://codesandbox.io/s/p8j61y7j7?fontsize=14 Код ровно такой же как в доке. Единственное отличие это ssr(nextJS), http://skrinshoter.ru/v/270919/gZTFMb9Y
Sheldhur
нет
Андрей
function useUnmount(f) { const fWrapper = React.useRef(f) if (fWrapper.current != f) { fWrapper.current = f } React.useEffect(() => () => fWrapper.current(), []) }
Андрей
Во!
Sheldhur
хм...
Sheldhur
да, чёт такое пробовал, но видимо криво сделал
Андрей
Я не тестировал, но должно работать.
Igor
для чего реф?
Андрей
useEffect(() => () => fn, []) чем не вариант?
Переменные в замыкании.
Андрей
Ты не можешь использовать стейт, так как в fn будут только начальные значения. Поэтому тебе нужно вызывать только последнюю функцию, которая передана в unmount
Андрей
? useEffect(() => () => onUnmount(someState), [someState])
И у тебя анмаунт будет дёргаться на каждое изменение переменной в deps.
Dima
не будет, только при уничтожении компонента
Sheldhur
попробуй)
Dima
сам юзЕффект будет выполняться на каждое изменение переменной в deps, да, при этом пересоздавая функцию onUnmount
Sheldhur
можешь сдлать пример с fetch?
Михаил
два раза кликнул по кнопке
Dima
спасибо
Михаил
function useUnmount(f) { const fWrapper = React.useRef(f) if (fWrapper.current != f) { fWrapper.current = f } React.useEffect(() => () => fWrapper.current(), []) }
для полной красоты, объявлять useUnmount последним(после всех хуков).
Nurbol
Sheldhur
ну ты понимаешь, что у тебя unmount при каждом клике происходит? а не как в случае с компонентом на классах когда из дерева исчезает?
Nurbol
onPress={() => PlaySound('../assets/sound/a.mp3')}
Sheldhur
я не тебе
Dimitrii
парни, существует вобще в реакте дэйтпикер с периодом?
Dimitrii
не могу найти, дайте линку плиз
Dimitrii
супер! спасибо
Aleksandr
Там если никаких действий не предпринять, то он подтянет за собой всю либу иконок целиком (600кб), даже если импортить календарь правильно. Решается несколькими строками конфигурации в вебпаке
Sheldhur
rc-datapicker это кишки пикера antd
Sheldhur
без стилей, без иконок и прочего мусора