
Сергей
09.06.2018
12:43:03

Alexander
09.06.2018
14:25:21
Можно ли как-то избавиться от последней строки? Чтобы я при запросе сразу получал данные
const response = await axios.post('/api/auth', { login, password });
const result: IResult = response.data;

Duego
09.06.2018
14:25:58
const {data: IResult} = await axios.post('/api/auth', { login, password });

Дмитрий
09.06.2018
14:27:19

Google

Alexander
09.06.2018
14:28:53
Да, прикольно. Чёт сразу не подумал

Дмитрий
09.06.2018
14:29:11

Duego
09.06.2018
14:29:17
Не очень знаком с типами) Возможно так: const {data} : {data: IResult} = ...

Дмитрий
09.06.2018
14:29:25
?

dima
09.06.2018
14:35:22

Сергей
09.06.2018
14:37:02

Alexander
09.06.2018
14:37:25

Сергей
09.06.2018
14:37:41
да как угодно
я описываю свой класс и не юзаю axios
в этом классе делаю нужные преобразования
также описываю по классу на модуль/фичу приложения
и в классах описываю методы для получения данных
class UsersApi {
latestFetch(limit = 10) {
return this.api.get(‘/users’, { query: { limit } })
}
}

Kendr
09.06.2018
14:43:21

Сергей
09.06.2018
14:44:13

Google

Сергей
09.06.2018
14:44:25
вроде бы там немного больше кода

dima
09.06.2018
14:48:34
чейто ? вскод обновился ? Он все импорты правит ?

Артур
09.06.2018
14:48:45

Сергей
09.06.2018
14:48:48

Alexander
09.06.2018
14:49:08
Это вообще адекватный экшн?
export const signin = ({ login, password }) => async (dispatch) => {
try
{
dispatch(authRequested());
const { data }: { data: Result } = await axios.post('/api/auth', { login, password });
switch (data.ErrorCode)
{
case -1: return dispatch(authFailed({ code: data.ErrorCode, message: data.ErrorString }));
case 1: return dispatch(authSuccessed({ login: data.Data.login, name: data.Data.FullName }));
default: return dispatch(authFailed({ code: null, message: 'Неизвестная ошибка' }));
}
}
catch (e)
{
dispatch(authFailed());
}
finally {
dispatch(authRecieved());
}
};

Сергей
09.06.2018
14:49:21

Alexander
09.06.2018
14:49:36

dima
09.06.2018
14:50:06
authRecieved чот так себе. Это типа даже если ошибка ты все роппускаешь ?

Alexander
09.06.2018
14:50:33

dima
09.06.2018
14:51:06
Как заворачивают?
ну в мидлваре на пример обработать. Завернуть 3 диспатча которые везде. Тпа пошел куда то. Пришел и ошибка

Alexander
09.06.2018
14:51:43

dima
09.06.2018
14:52:16

Alexander
09.06.2018
14:52:56
Или стоп
То есть он будет делать одно и то же, но отдавать в нужный редусер?

dima
09.06.2018
14:56:00

Google

Roman
09.06.2018
14:56:09

Alexander
09.06.2018
15:00:27
Покажите кто-нибудь примером, как правильно делать. Мне лучше 1 раз увидеть

Andrew
09.06.2018
15:39:32

Vlad
09.06.2018
16:12:46
Это сегодня пришла обнова ?

Сергей
09.06.2018
16:13:15

Vlad
09.06.2018
16:13:41
давно
У меня ни разу не спрашивал такое
WHY
Ничего не настраивал дополнительно ?

Сергей
09.06.2018
16:14:50

Dmitriy
09.06.2018
16:21:15
это в последней версии добавили
https://code.visualstudio.com/updates/v1_24#_update-import-paths-when-a-file-is-moved-or-renamed

Веселый
09.06.2018
16:43:45
Извините за тупой вопрос а store один единый для всего приложения или для каждого компонента он свой?

Николай
09.06.2018
16:44:58

Дмитрий
09.06.2018
16:45:05
Я не триггерюсь, я не тригерюсь, я не триггерюсь

Sherzod
09.06.2018
16:45:09

Веселый
09.06.2018
16:45:31
спс

Дмитрий
09.06.2018
16:46:12
Общий стор не нужен!

Valeriy
09.06.2018
16:46:23
можешь сделать для каждого компонента свой стор теоретически

Николай
09.06.2018
16:46:41

Valeriy
09.06.2018
16:46:47
чисто на побаловаться :))

Дмитрий
09.06.2018
16:47:56

Valeriy
09.06.2018
16:48:13

Google

mr_makss
09.06.2018
16:48:29
кто-нибудь собирал openssl под emscripten?

Дмитрий
09.06.2018
16:48:37

Valeriy
09.06.2018
16:49:00
а так теоретически можно сделать несколько сторов, обернуть разные непересекающиеся между собой группы компонентов в <Provider store={store1}> .... <Provider store={store2} ...

Admin
ERROR: S client not available

Valeriy
09.06.2018
16:50:05
и в каждом будет свой набор редьюсеров
можно даже одни и те же экшины в них гонять :))

Николай
09.06.2018
16:50:49
Можно раздробить приложение и хранить стор глобально в хранилище

Valeriy
09.06.2018
16:51:36

Николай
09.06.2018
16:51:52
Веб приложение

Valeriy
09.06.2018
16:51:58
ну я понимаю

Николай
09.06.2018
16:52:16
Ну сделать несколько бандлов

Valeriy
09.06.2018
16:52:21
есть видимая и невидимая его часть :)

Николай
09.06.2018
16:52:32
Ээ
Короче, есть несколько бандлов на разных страницах

Valeriy
09.06.2018
16:53:04
т.е. есть стейт приложения, есть управляющая часть, которая меняет этот стейт и есть презентационный уровень - реакт компоненты, которые этот стейт отображают

Дмитрий
09.06.2018
16:53:06
Как айсберг

Valeriy
09.06.2018
16:53:18
для меня последнее это как бы верхушка айсберга

Николай
09.06.2018
16:53:24
И при переходе они инициализируются через локал стор например
Я делал такое на вью

Google

Дмитрий
09.06.2018
16:53:48

Николай
09.06.2018
16:53:54
Не по своей воле

Valeriy
09.06.2018
16:54:02

Николай
09.06.2018
16:54:43
Есть вью, стейт и то что этот стейт меняет, не усложняй

Valeriy
09.06.2018
16:56:34

Николай
09.06.2018
16:56:50

abc
09.06.2018
17:00:01
Всем привет. Какие лучшие практики сейчас есть для того чтобы написать независимый виджет на реакт для того чтобы он мог интегрироваться на любой сайт ? Для примера возьмем чат онлайн консультанта на сайте. Основная проблема это совпадение имен классов стилей с оригинальным сайтом. про styled-components смотрел но по мне это не лучшее решение

Cenator
09.06.2018
17:00:42
с чего бы не лучшее
объясни почему

abc
09.06.2018
17:02:07
ну хотя бы то что все это работает в рантайме
как я понял проблема с каскадными стилями есть

Cenator
09.06.2018
17:02:38
это же хорошо, что в рантайме
насчет каскадных стилей не замечал проблем у себя