Size: a a a

JavaScript.Ninja

2020 August 31

SK

Sergey Kostyrko in JavaScript.Ninja
имхо я не вижу большой ценности такого изменения при редактировании
ты уточни - может хватит просто при показе данных а когда переходим в редактирование - шрифт одинаковый
источник

SK

Sergey Kostyrko in JavaScript.Ninja
потому что возни в несколькими инпутами будет выше крыши
источник

Е

Евгений in JavaScript.Ninja
Dima Nazdratenko
а что меняется? по сути всеравно я так понимаю нужно 2 тега что бы разные шрифты были
Типа 2 инпута, в 1 до знака, второй после знака и какой-то магией клеить предыдущий функционал с видео 🙈
Я это вижу как один скрытый инпут и поделеный блок для вывода
Берешь то что в рнпуте, делишь по точке одно в однин блок, другое в другой
источник

AE

Andrey Eremenko in JavaScript.Ninja
Есть знатоки RX?

const _stream = new Subject();
_stream.next(JSON.parse('invalid.data')); // пришел не корректный json

       stream
           .pipe(
               catchError(err => of(err.message))
           )
           .subscribe(
               data => console.log('data', data),
               error => console.log('error', error),
               () => console.log('end')
           );

Ожидаю: получить ошибку в функции error => console.log('error', error),
Реальность: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
источник

Е

Евгений in JavaScript.Ninja
Ну типа скрытый)
источник

DN

Dima Nazdratenko in JavaScript.Ninja
Sergey Kostyrko
потому что возни в несколькими инпутами будет выше крыши
в инпуте ввода может и всеравно, а вот пока не кликнули дабл клик то там где я выделяю 1 символ кликом и стрелками меняю там хотят
источник

DN

Dima Nazdratenko in JavaScript.Ninja
ну и там где поле еще не активно
источник

SK

Sergey Kostyrko in JavaScript.Ninja
Andrey Eremenko
Есть знатоки RX?

const _stream = new Subject();
_stream.next(JSON.parse('invalid.data')); // пришел не корректный json

       stream
           .pipe(
               catchError(err => of(err.message))
           )
           .subscribe(
               data => console.log('data', data),
               error => console.log('error', error),
               () => console.log('end')
           );

Ожидаю: получить ошибку в функции error => console.log('error', error),
Реальность: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
ошибка происходит вне rx
потому она в стрим и не попадает
правильно будет вот так
try {
  _stream.next(JSON.parse('invalid.data'))
} catch (err) {
 _stream.error(err);
}
источник

AE

Andrey Eremenko in JavaScript.Ninja
Sergey Kostyrko
ошибка происходит вне rx
потому она в стрим и не попадает
правильно будет вот так
try {
  _stream.next(JSON.parse('invalid.data'))
} catch (err) {
 _stream.error(err);
}
спасибо. попробую
источник

R

Remite in JavaScript.Ninja
Sergey Kostyrko
ошибка происходит вне rx
потому она в стрим и не попадает
правильно будет вот так
try {
  _stream.next(JSON.parse('invalid.data'))
} catch (err) {
 _stream.error(err);
}
правильней будет

_stream.next(data);

       stream
           .pipe(
               map(data => JSON.parse(data)),
               catchError(err => of(err.message))
           )
источник

R

Remite in JavaScript.Ninja
тогда ошибка будет обрабатываться в "реактивном" стиле, и не надо будет заворачивтаь сверху в трай-кетч
источник

AE

Andrey Eremenko in JavaScript.Ninja
Remite
тогда ошибка будет обрабатываться в "реактивном" стиле, и не надо будет заворачивтаь сверху в трай-кетч
Да, у меня уже стул горит от этой штуки :)

Делал так:

stream
   .pipe(
       retry()
   )

Уходило в рекурсию. Почему? Не понятно. По документации должно было поймать ошибку и продолжить.

Сделал как Вы рекомендуете:

stream
   .pipe(
       map(x => {
           if(typeof x === 'string') {
               return JSON.parse(x);
           }
           return x;
       }),
       retry()
   )

Действительно перестало падать или останавливаться из за ошибки. Но ошибку теперь не ловит. Просто ее как будто нет. Я и не узнаю что сервер фигню присылал.
Плюс проблема в том что у меня парсинг JSON и перехват и обработка ошибок на разных уровнях происходят.

Мне кажется надо с этим завязывать :) Какой-нибудь EventEmitter написать и будет чуть менее эстетично, зато понятно и практично
источник

DR

Damir Rakhmanov in JavaScript.Ninja
подскажите пожалуйста есть ли смысл брать effector или все таки лучше использовать redux?
источник

IK

Illya Klymov in JavaScript.Ninja
Damir Rakhmanov
подскажите пожалуйста есть ли смысл брать effector или все таки лучше использовать redux?
зависит от задач. Для управлегия ГЛОБАЛЬНЫМ состоянием приложения - redux
источник

DR

Damir Rakhmanov in JavaScript.Ninja
а effector все таки на другое нацелен?
источник

DR

Damir Rakhmanov in JavaScript.Ninja
ГЛОБАЛЬНЫМ состоянием - потому что  в Redux используется один store?
источник

IK

Illya Klymov in JavaScript.Ninja
да
источник

R

Remite in JavaScript.Ninja
Илья, а что вкладывается в понятия "глобальный" стор?
Например детали авторизации и прочее это глобальный
А вот состояние формы - локальный?
источник

IK

Illya Klymov in JavaScript.Ninja
где-то так
источник

AS

Alexander Shamshurin in JavaScript.Ninja
Damir Rakhmanov
подскажите пожалуйста есть ли смысл брать effector или все таки лучше использовать redux?
На мой взгляд все таки redux лучше вообще не использовать никогда ни для какого проекта, кроме legacy совсем уже
источник