Ula
функциональные
Спасибо. Что для реакта есть готовое?
Paul
enzyme
Paul
puppeteer + jest можешь глянуть еще
Anton
подскажите пжлст, как обратиться к элементу массива в реакте? Банальное array[0]._id выдает, что _id undefined. При этом сам массив array передан в пропсах и он определен.
Ula
puppeteer + jest можешь глянуть еще
Спасибо. Статьи в основном о jest + enzyme
Oleg
в идеале, ни один из объектов не должен быть мутабельным? мы всегда должны работать с копиями, так?
Oleg
как найти мутабельный объект?
Paul
в идеале, ни один из объектов не должен быть мутабельным? мы всегда должны работать с копиями, так?
Если у пользователей твоих приложений бесконечная оперативка — то да)
Oleg
попробовал поискать по проекту переменную. везде скопировал - не помогло.
Alexander
привет. кто-то может подсказать как в одну строку удалить из объекта проперти numberScoreArr: responses[1].scoreType === 'VISUAL' ? [{score: '', description: ''}] : responses[1].scores.map(item => delete item.__typeName) - так возвращает мне true вместо каждого объекта
Oleg
как называется операция такого плана? const { qwe } = a;
Alexander
присвоение?
Oleg
присвоение?
уже нашёл, деструктуризация.
Alexander
а, да
Oleg
деструктуризация
вообще главный вопрос был - эта операция создаёт копию или нет?
Paul
Нет, это ссылки на объекты внутри
Oleg
Нет, это ссылки на объекты внутри
серьёзно? то есть, const { .. } = props; обращается напрямую к пропсам?
Paul
Конечно
Oleg
говно
Den
Конечно
a props.items.map(({ id }) => <Item key={id} />) к id тоже напрямую обращение?
Anton
выведи array - чему он равен у тебя
Хм, массив почему-то пуст. Но как тогда обратиться к массиву из стейта? Сейчас делаю: 1) mapStateToProps 2) делаю деструктуризацию в пропсах и указываю данный массив 3) и обращаюсь к элементу массива, чтобы сделать проверку. Но он неопределен, тк массив пуст.
Paul
Деструктуризация ничего не копирует, а просто переменные ассайнит
Paul
Проверил щас
Paul
Paul
Paul
Перебил поле внутри компонента и проверил его содержимое снаружи
Ilya
Деструктуризация ничего не копирует, а просто переменные ассайнит
скопированны будут только примитвы - составные типы данных по ссылке будут передаваться основа основ присваивания в JS
Eugene
🌚
Vladimir
Перебил поле внутри компонента и проверил его содержимое снаружи
за мутирование пропсов могут и по голове настучать. Сначала реакт
Paul
Само собой я так не делаю
Paul
@OlegBrony интересовался
Paul
А зачем тебе их скопировать
Vladimir
так а как их скопировать?
пропсы - это то, что тебе дано свыше. И менять их нужно тоже сверху вниз
Oleg
А зачем тебе их скопировать
потому что где-то в жопе мутабельность объекта, пытаюсь дебагать.
Vladimir
из родителя передавай onUpdateHeader
Paul
потому что где-то в жопе мутабельность объекта, пытаюсь дебагать.
Ну как вариант, пробегись и сделай везде Object.freeze()
Paul
И вруби strict
Paul
Он тебе typeerror начнет сыпать
Paul
Если где-то есть мутация
Oleg
И вруби strict
вверху каждого файла писать 'use strict'?
Bogdan
сейчас antd либу юзают люди?
Temuchin
Интересно сейчас кто нибудь согласится писать на реакте версии 0.14 за x2 к зарплате?
Anton
Лучше не проектировать так. А отправлять некое событие наружу из компонента, чтобы логика снаружи решила делать редирект или что-то другое. Вот вам и тесты говорят о том, что не нужно зашивать логику в компонент
реакт же. если я сюда приплету события будет не очень. смешение парадигм. кроме того родительская компонента тоже будет в пространстве имен модуля и не доступна из сайпреса.
Den
Интересно сейчас кто нибудь согласится писать на реакте версии 0.14 за x2 к зарплате?
Я 3 года назад ушел с работы, оставив им проект на древнем реакте. Вот ведь кому-то повезло...
Temuchin
)
Anton
Если это end-to-end тестирование, то мне кажется тут не надо мокать ничего, ведь цель е2е как раз оттестить поведеиние в целом, в данном случае наличие редиректа
да, это оно. но у меня сразу после аутентификации редирект. а мне надо проверить состояние кук до редиректа.
Bogdan
тут перерендера нету, а в компоненте классовом он есть, подскажите в какую сторону смотреть
Bogdan
тут консоль летит с интервалом
Alexeii
Привет, ребят, подскажите пожалуйста, тестирую неконтроллируемый инпут через Jest + Enzyme. Когда пытаюсь в тестах вытянуть чечез instance.input — возвращяет undefined. Кто-то сталкивался?
Sergey
реакт же. если я сюда приплету события будет не очень. смешение парадигм. кроме того родительская компонента тоже будет в пространстве имен модуля и не доступна из сайпреса.
Нет никакого смешения парадигм. DOM в своей основе имеет события. И разделять логику и Вью через систему событий это максимально логично. И к тому же позволяет нормально тестировать
Oleg
может мне Object.freez как-то помочь, если у меня мутается какой-то проп в редаксе?
Anton
код смотреть надо, на словах ты ничего не обьяснил 🙂
Выложил код: https://gist.github.com/a007mr/3eb6c380f442d7fc629ac7fe82bc6bd7 Хочу обратиться к: let lastStandup = standups[0]._id; let lastAnswer = standupAnswers[0].standup; но выдает ошибку, что standups почему-то пустой и не находит _id.
Oleg
кто-то использовал deep-freeze с редаксом?
Anton
Нет никакого смешения парадигм. DOM в своей основе имеет события. И разделять логику и Вью через систему событий это максимально логично. И к тому же позволяет нормально тестировать
я уже пробовал использовать и продать кастомные евенты — не прошло код ревью с диагнозом ‘переделай на стейт или общий стор’. я могу сколько угодно с тобой быть согласным, но это не решение. кроме того в данном конкретном случае мне все же не кажется что события тут нужны. это просто редирект в одном компоненте в одном случае
Sergey
Effector js
Alexeii
Ребят, как вы получаете значения рефов в Jest + Enzyme? Если реф был устновлен с помощью пропса ref = { ref => this.input = ref }
💸
Привет! можете поделиться best practices струтурирования SPA приложений? Буду очень благодарен за полезные ссылки
Sergey
Стабать локальную функцию модуля это полная жопа.
BADbonus
Доброго времени суток, подскажите пожалуйста по поводу material ui. Правильно ли я понял, что в classfull компоненте нельзя зарегать стили material через makestyles, нужно использовать withstyles и обернуть classfull компонент HOC-ом?
BADbonus
🤦‍♀️
BADbonus
classful компонент?
В некоторых забугорных постах проскакивало название компонента-класса