artalar
По поводу чистых функций - мы их можем, прозрачно, замемоизировать с какими-нибудь хитрыми политиками управления кеша. Хотя я не видел что бы это кто-то делал
artalar
Сага - это энтерпрайзный инструмент, который архитектурно заранее дает очень многое. Если же всей ей функциональностью не пользоваться - это, конечно, оверхед
Sheldhur
Ну в доке написано... Все функции вызывает не движек через круглые скобки и внутренний колстак, а сама сага (она монада, все такое). Поэтому мы можем внедрять дополнительное поведение, говоря саге делать то или другое в определенных случаях. Посмотрите доку с эффектами
так мне вот момент с желанием внедрять дополнительное поведение и не ясен. Ведь в 99% случаев все что необходимо это сделать запрос к апи и сложить результат в стор. Какое еще поведение мне захочется внедрить в этот процесс?
Sheldhur
можно пример с конкурентными запросами?
artalar
Вам оно не надо, забейте
artalar
Иначе посмотрите доку, статьи какие-нибудь
Sheldhur
может понадобится)
Vladislav
Хелло, есть гуру по настройке sw-precache-webpack-plugin&? у меня воркер всё время юзает одну и ту же версию кеша. Как заставить его очищать старый кеш?
Oruj
ребят а почему функции объявляются по разному?
Ilya
Вторая имеет контекст this, первая - по-умолчанию нет, ее биндить надо, чтобы к this обращаться
Evgen
ребят а почему функции объявляются по разному?
onDeleted - объявляется как свойство, createTodoItem - как метод
Mihail
Вторая имеет контекст this, первая - по-умолчанию нет, ее биндить надо, чтобы к this обращаться
Вообще-то, функции как методы имеют контекст объекта, на котором они вызываются
Mihail
А стрелки берут контекст объекта, который окружает
Oruj
ну если для первой поставить = и стрелку, то Uncaught TypeError: this.createTodoItem is not a function
Mihail
Вообще-то, функции как методы имеют контекст объекта, на котором они вызываются
А вот когда ты их будешь передавать как обработчик события
Mihail
То будет неприятно
Oruj
onDeleted передается в компонент
Ilya
А вот когда ты их будешь передавать как обработчик события
Ну да. По приведенному куску кода непонятно, как именно они используются
Oruj
ну первая функ видна. а вторая передается в компонент. да, там нужен контекст
Mihail
Контекст потеряется
this будет ссылаться на элемент дом дерева, который триггерит событие
Oruj
для createTodoItem не нужен контекст. но почему то дает ошибку с = и =>
Oruj
просто не пойму почему обычной функции (createTodoItem) которая пораждает объект нельзя писать в виде createTodoItem = (id) => {}
Oruj
просто не пойму почему обычную функцию (createTodoItem) которая пораждает объект нельзя писать в виде createTodoItem = (label) => {} внутри класса
Oleg
а lint же встроен в cra? не могу что-то разобраться, как его настроить.
Александр
https://facebook.github.io/create-react-app/docs/setting-up-your-editor но конечно же вы это читали, значит что то не получилось сделать из указанного в доке? На каком моменте трудности возникли?
Oruj
почему то в консоль выходит старое значение состояния, хотя пишу его после его обновления
Oleg
https://facebook.github.io/create-react-app/docs/setting-up-your-editor но конечно же вы это читали, значит что то не получилось сделать из указанного в доке? На каком моменте трудности возникли?
ну я так понимаю, мне нужно что-то установить. или запустить lint -init? я создал файл .eslintrc { "extends": "react-app" }
Oleg
почему то в консоль выходит старое значение состояния, хотя пишу его после его обновления
setState асинхронен. если хочешь что-то сразу после него - this.setState(yourFunc, () => {your console log})
Илья
<Route path='/complete' component={Complete}/> при переходе на http://localhost:3000/complete должен показывать ?
Андрей
почему то в консоль выходит старое значение состояния, хотя пишу его после его обновления
сетстейт асинхронный, когда ты консолишь, сетстейт еще не выполнился
Dmitry
Или просто await setState
arts
Или просто await setState
setState разве возвращает промис?
Тарас
неа
Тарас
почти уверен, что нет разве что обвернуть его в свой кастомный промис
arts
Тогда и await не сработает
Тарас
к ребятам, которые активно юзают хуки на живых проектах если у меня есть функциональная компонента, а в ней мелкие рендер функции, которые возвращают JSX, их лучше обварачивать в юзМемо или юзКолбек?
Alexandr
О прикольно, сохранил в заметки.
Anonymous
Пожалуй, лучше удалю))
Alexey
и правильно, нечего с утра такое видеть
arts
Сработает
С чего бы?
arts
То, что await не вывалит ошибку, ещё не значит, что он будет работать.
Александр
Сработает
Реально?
Александр
Я вот не верю
Александр
Вернее он то сработает, только не понятно что ожидать от этой лишённой смысла конструкции
Alexey
ему нечего await-ить
Александр
Dmitry
Спорить не буду, кому интересно погуглите. Сорри.
Юрий
Всем привет. Сталкеулся с такой проблемой в redux-saga. Делаю запрос к firebase функциям (встроиным методом). У "сервере" поставил CORS. Из-за этого как я понима идёт два запроса. первый пустой. И получается ошибка. Как этого избежать ?
Alexey
await (() => {})(); // same shit
Viktor
Привет, У кого нибудь есть требования A11y на проектах (АА+) ? Есть ли какая нибудь библиотка компонент (можно платную) которая действительно была бы соответвовала всем требованиям. Потому что даже популярный https://material-ui.com/ как то не очень соответвует.
Александр
Спорить не буду, кому интересно погуглите. Сорри.
Спорить не буду, https://github.com/facebook/react/blob/master/packages/react/src/ReactBaseClasses.js#L58
Александр
Alexey
он, видимо, имел в виду, что с ошибкой не упадет
Vova
ребят подскажите как можно обрабатывать изображение перед отправкой на сервер? без канвас желательно
Александр
Показали бы полностью, какой method у запросов там
Юрий
это я как раз понял. А как избегать (обрабатывать) - ошибку ?
Юрий
При cross origin режиме будет два запроса, один preflight OPTIONS, второй фактический, это нормальное поведение
Vova
ну фотошопом можно попробовать
а что б юзер без фотошопа?
Viktor
https://ui.reach.tech/
Эти видел, но их там так мало, что у нас самописных больше :) Сейчас просто думаем есть ли альтернативы писать самим. Может есть прям дейсвтиельно хорошие реализации.
Vova
канвас
прочитай мой вопрос
Vova
я понял, спасибо
Александр
это я как раз понял. А как избегать (обрабатывать) - ошибку ?
А не понятно что там у вас происходит, если все верно то один запрос отправляет браузер с методом OPTIONS, посмотрите что там у вас происходит, в консоле не пишет ничего?
Evgeny
прочитай мой вопрос
для этого и был сарказм
Evgeny
прочитай мой вопрос
https://ui.toast.com/tui-image-editor/ держи
Александр
прочитай мой вопрос
А какая обработка требуется? Почему без канваса?