Size: a a a

React — русскоговорящее сообщество

2020 October 28

H

Hollow in React — русскоговорящее сообщество
Всем добрый вечер
источник

t

twilly in React — русскоговорящее сообщество
Nikita Karavaev
Ребят, привет.

Подскажите, пожалуйста. Создал метод удаления файла. Проблема в том, что при удалении из filtered, из стейта удаляется с опозданием, что видно в консоли - filtered пустой, а в uploadedFiles еще лежит объект.

С помощью чего можно исправить данную ситуацию?
setState асинхронный
источник

t

twilly in React — русскоговорящее сообщество
получай предыдущее значение коллбеком.
setUploadedFiles(prev=>prev.filter(...)
источник

NK

Nikita Karavaev in React — русскоговорящее сообщество
twilly
получай предыдущее значение коллбеком.
setUploadedFiles(prev=>prev.filter(...)
Понял, спасибо большое. Тоже думал над прев, но никак не мог понять как его правильно реализовать.
источник

V

Vova in React — русскоговорящее сообщество
Ребят откуда лучше взять компоненты графиков, диаграмм?
источник

H

Hollow in React — русскоговорящее сообщество
Может ли кто подсказать корректный вариант решения?
Есть метод, грузящий массив данных Rules, есть второй метод, грузящий данные для поля count в типе данных по коду/айди.
Необходимо загружать их в таблицу, обновляя при изменении самих данных, но не при изменении поля.
Само поле передается в ячейку таблицы(используется antd), в которых надо асинхронно дожидаться загрузки значения, отображая спинер, если еще не загрузилось.
Пробовал через реф и стейт. Стейт вызовет ререндер, реф не читает в компоненте ячейки корректно обновление значения по ней. useEffect не помогает, т.к. все время после рендера там держится значение undefined, пока заново не вызовется рендер ячейки.
Использовать загрузку в ячейке не варик или я не нашел решение, т.к. мне надо полученный сount записать в стейт с данными в таблице.
источник

@

@xtx in React — русскоговорящее сообщество
Кто разбираеться в тестах, не пойму как получить удачный тест если функция выбросила ошибку..
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
@xtx
Кто разбираеться в тестах, не пойму как получить удачный тест если функция выбросила ошибку..
источник

@

@xtx in React — русскоговорящее сообщество
у меня chaijs, но. яне пойму туда ли я вообще копаю и может ли быть удачный тест если функция выполнилась с ошибкой new Error
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
@xtx
у меня chaijs, но. яне пойму туда ли я вообще копаю и может ли быть удачный тест если функция выполнилась с ошибкой new Error
Там тоже должен быть такой assertion, нагуглите сами
Тест прошел, если выполнилось ожидаемое поведение, исключение может быть одидаемым поведением🤷‍♂
источник

@

@xtx in React — русскоговорящее сообщество
Vladimir Klimov
Там тоже должен быть такой assertion, нагуглите сами
Тест прошел, если выполнилось ожидаемое поведение, исключение может быть одидаемым поведением🤷‍♂
я нагуглил конечно же)
expect(goodFn).to.throw(); // Recommended
но тест всеравно феил
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
@xtx
я нагуглил конечно же)
expect(goodFn).to.throw(); // Recommended
но тест всеравно феил
Ну так может потому, что функция ведет себя не так, как надо?)
И это не про реакт уже, это скорее в js чат
источник

VD

Vadim D in React — русскоговорящее сообщество
@xtx
я нагуглил конечно же)
expect(goodFn).to.throw(); // Recommended
но тест всеравно феил
goodFn может вызвать надо?
Или надо её вызывать внутри другой функции как в примере с jest
источник

@

@xtx in React — русскоговорящее сообщество
Vadim D
goodFn может вызвать надо?
Или надо её вызывать внутри другой функции как в примере с jest
это из документации пример)
источник

VD

Vadim D in React — русскоговорящее сообщество
@xtx
это из документации пример)
источник

@

@xtx in React — русскоговорящее сообщество
да ситуация та же, находил, спасибо)
источник

A

Aleksey in React — русскоговорящее сообщество
Мерч
Это не решение, а костыль
Выпиливать название файла из класса - плохо, так как будет куча wrapper в разметке

Я предлагаю тот же подход что и
ComponentName.js
ComponentName.scss

Но с заменой основного файла на индекс для большего удобства
Использовали подобный вариант, потом отошли от него - удобнее использовать папка - name > name.js и name.style.js,  единственный минус, но не существенный, это при последующем импорте компонента куда-либо нужно в путях указывать типо  (src/components/name/name) вместо предыдущего варианта с использованием index ( src/components/name). Для дебага нейминг внутренних компонент не критичен
источник

М

Мерч in React — русскоговорящее сообщество
Aleksey
Использовали подобный вариант, потом отошли от него - удобнее использовать папка - name > name.js и name.style.js,  единственный минус, но не существенный, это при последующем импорте компонента куда-либо нужно в путях указывать типо  (src/components/name/name) вместо предыдущего варианта с использованием index ( src/components/name). Для дебага нейминг внутренних компонент не критичен
Такой вариант тоже ок, но мне критичнее чистое отображение классов
Кстати, можно просто написать плагин для бабеля, который будет выпиливать styles из названий классов, и вообще была бы красота
источник

М

Мерч in React — русскоговорящее сообщество
Мой вариант мне нравится из-за эстетичных внешне импортов + меньше писать + сразу видно, где стили а где компонент
источник

М

Мерч in React — русскоговорящее сообщество
Ибо компонент index, а его стили - именные
источник