@react_js

Страница 4438 из 5115
Igor
20.07.2018
07:35:07
Надеюсь с вопросом по react router сюда можно. Использую 4ую версию. В приложении все роуты работают правильно. Но если обновить страницу или попробовать зайти на страницу через адресную строку, то пишет cannot get (адрес). Читал, что может помочь серверный рендеринг, но пока с ним не разобрался. Можете дать какие нибудь советы по решению данной проблемы или с серверным рендерингом все заработает?

Maksim
20.07.2018
07:38:06
Всем привет, в ответ от сервера в headers получаю ‘Set-Cookie’ , как достать значение?

Google
Vitaliy
20.07.2018
07:38:10
возмжно неправильно подключил, там по идее с history еще надо связать

Igor
20.07.2018
07:38:31
Node js express

Egor
20.07.2018
07:38:44
какой сервер?
думаю речь про настройку nginx

Igor
20.07.2018
07:38:47
Нет вроде

Again
20.07.2018
07:39:52
Нет вроде
так какой в итоге?

Cenator
20.07.2018
07:40:02
Node js express
app.get('*', (r, w) => w.write(indexHTML).end())

Vitaliy
20.07.2018
07:40:07
Igor
20.07.2018
07:41:03
Я новичок, и немного не понимаю вопрос. Делаю все локально, использую реакт ноду. Вебпак для сборки

Vitaliy
20.07.2018
07:42:54
ммм. тогда возможно неправильно сконфигурирован вебпак

Igor
20.07.2018
07:44:32
Если приложу скрин, или ссылку на репу, сможете помочь что не так?

Cenator
20.07.2018
07:44:44
может ты прочитаешь то что я написал?

Google
Igor
20.07.2018
07:47:17
может ты прочитаешь то что я написал?
Прошу прощения, не заметил. Спасибо вам.

Dzmitry
20.07.2018
07:51:03
вопрос обычный пример — массив и по клику на ведро удаляю элемент все элементы кроме последне7го удаляются в чем трабла может быть? (при удалении последнего рендер вызывается, почему то, два раза и последний раз с предыдущим стейтом)

Dzmitry
20.07.2018
07:53:31
да в том то и дело, что нет там дичь какая то удаляю последний элемент — рендер с новым стейтом — рендер со старым стейтом

Roman
20.07.2018
07:53:46
Всем привет! Можно ли как-то перерендерить компонент без использования setState?

Dzmitry
20.07.2018
07:54:19
Всем привет! Можно ли как-то перерендерить компонент без использования setState?
пропсу сверху передать новую и не блокировать ничем

Vitaliy
20.07.2018
07:59:31
если ничего не менялось, зачем перерендеривать?

Vitaliy
20.07.2018
08:01:18
состояние без использования state/setState имхо лучше всего при помощи withState из recompose

Roman
20.07.2018
08:01:19
если ничего не менялось, зачем перерендеривать?
Картинки загружаются асинхронно

Cenator
20.07.2018
08:01:55
Картинки загружаются асинхронно
ты не можешь в src указать путь?

Roman
20.07.2018
08:02:24
ты не можешь в src указать путь?
Не, путь уже сразу указан, но картинки не отображаются, пока не загрузятся

Нужно перерендерить

Vitaliy
20.07.2018
08:02:40
эм странно

как это возможно

Cenator
20.07.2018
08:03:01
Нужно перерендерить
она в цсс бэкграунде что ли?

Roman
20.07.2018
08:03:14
Просто загрузка картинок идет в директорию девайса

Vitaliy
20.07.2018
08:05:54
Не, путь уже сразу указан, но картинки не отображаются, пока не загрузятся
ну то есть ты знаешь в какой момент картинка загрузилась? так привяжи это к какому-то пропсу и он перерендерится

Google
Roman
20.07.2018
08:06:45
ну то есть ты знаешь в какой момент картинка загрузилась? так привяжи это к какому-то пропсу и он перерендерится
Это да, но мне кажется это каким-то костылем, заводить ненужный стейт на это

Dzmitry
20.07.2018
08:10:57
разобрался, там кто то охуительно сверсттал, что мой блок свойств оказался блядь в лэйбле

и в нем же была кнопка "добавить"

chep
20.07.2018
08:27:54
Ку гайс, как в можно протестит то что lifecycle вызывается action?

Андрей
20.07.2018
08:28:36
sinonjs

Vlad
20.07.2018
08:29:28
Ку гайс, как в можно протестит то что lifecycle вызывается action?
Просто вызови lifecicly а потом через jest toHaveBeenCalledWith({})

Андрей
20.07.2018
08:30:07
еще можно замокать стор библиотекой redux-mock-store, и получать массив совершенных действий

Vlad
20.07.2018
08:31:01
По-хорошему не надо тестировать action, только его вызов с параметрами и всё, а action замокать

jest.mock('../../actions/posts', () => ({ fetchPost: jest.fn(() => ({ type: 'FETCH_POST', })), setVotesAndFlags: jest.fn(() => ({ type: 'SET_VOTES_AND_FLAGS', })), }));

chep
20.07.2018
08:31:41
Vlad
20.07.2018
08:32:03
Тогда мокаешь action и потом expect(action).toHaveBeenCalledWith({})

chep
20.07.2018
08:32:52
еще можно замокать стор библиотекой redux-mock-store, и получать массив совершенных действий
как раз ее и юзаю. вот только не могу понять когда правильно доставать ее. Я сделал mount, после вызвал store.getActions(), но там пустой массив.

Андрей
20.07.2018
08:34:48
массив наполняется после произошедшего действия, вариант Влада типичнее для модульных тестов и TDD

Зачем вызывать action со стора?
там мок редукс-стора, который логает все действия, которые произошли

chep
20.07.2018
08:36:49
массив наполняется после произошедшего действия, вариант Влада типичнее для модульных тестов и TDD
ну да, я ее успешно юзаю для тестов асинхронных action. Там все ок работает. Но я думад, что если замаунтить компоннент, то она словит все actions которые в нем произашли.

Андрей
20.07.2018
08:37:45
так обернуть в провайдер надо с замоканым стором весь тестируемый компонент...

Google
Admin
ERROR: S client not available

Vlad
20.07.2018
08:40:41
Сделай прост shallow lifecycles можно проверять так wrapper.instance().componentDidMount();

Это модульные тесты ж, уже в интегарционных имеет смысл

chep
20.07.2018
08:41:32
спс

Vlad
20.07.2018
08:41:33
expect(wrapper.instance().componentDidMount()).toHaveBeenCalledTimes(1)

Jest + enzyme обычно хватает для Unit тестов

Хотя глупо, нету смысл тестировать тебе функции реакта

В твоём случаи ты покрыл тестов ifecycle реакта, что не имеет смысл, это уже реакт покрывает тестами componentDidMount

chep
20.07.2018
08:43:28
Jest + enzyme обычно хватает для Unit тестов
первый раз занимаюсь этим, с доков поняд, что тестировать лайфсайклы можно только при маунте. Что-т не так понял.

спс

Андрей
20.07.2018
08:43:32
вообще да, это же тестирование апи реакта

Vlad
20.07.2018
08:43:39
Проверять есть смысл вызов функций в componentDidMount с верными параметрами

expect.assertions(2); expect(func).toHaveBeenCalledTimes(0); wrapper.instance().componentDidMount(); expect(func).toHaveBeenCalledTimes(0);

Пример

Max
20.07.2018
08:59:13
Ку гайс, как в можно протестит то что lifecycle вызывается action?
можно просто посмотреть toHaveBeenCalled и все. А сам action уже тестировать юнит тестом, и как сказали выше, если важно какие аргументы были - toHaveBeenCalledWith

Lulz
20.07.2018
10:00:32
Привет. onChange не отрабатывает, если я выделяю строку и удаляю ее с помощью backspace. Такое действие как отлавливать удобно? Спасибо

Google
Lulz
20.07.2018
10:01:56
keycode
т.е мне еще нужно пвоесить где-то обработчик, чтобы отлавливать нажатие клавиши?)

Lulz
20.07.2018
10:02:57
т.е если я постепенно буду нажимать backspace то ок вызовет хэндлер, но если я выделяю сразу строку и нажимаю backspace то не отрабатывает хэндлер

Again
20.07.2018
10:02:57
на инпут

Lulz
20.07.2018
10:03:20
на инпут
ок ща гляну

Again
20.07.2018
10:03:22
на инпут вешаешь keydown и там из таргета достаешь keycode

точнее из евента

и бекспейс это 7 или 8

вроде

Cenator
20.07.2018
10:03:59
Lulz
20.07.2018
10:04:12
ты на обычный инпут вешаешь или из либы? и какая версия реакта? и какой браузер
16.3 реакт, reactstrap Input компонент, хром браузер п.с в мозиле так же, но он хотя бы подкрашивает инпут ? т.е как мне и нужно(how?)

Страница 4438 из 5115