
Valeriy
28.09.2018
15:29:23
нет
ну ок, а что ты под DI в контексте санок понимаешь?
покажи пример кода что ли

Artyom
28.09.2018
15:38:26
покажи пример кода что ли
В санках ты передаешь уже инициализированную функцию, т.е. ты никак не контролируешь какие аргументы передаются в экшенкриэйтер. В экзекьюте (что ясно из названия) ты передаешь экшенкриэйтер и аргументы для его вызова\инициализации - это проще тестировать

Valeriy
28.09.2018
15:42:11

Google

Valeriy
28.09.2018
15:43:47
я тебе больше скажу, что судя по исходникам там не хватает того что было в санках
санки не ограничиваются ({ dispatch, getState })
там есть еще доп параметры, которые проносятся при подключении мидлваре

Artyom
28.09.2018
15:45:28
Это, кстати, "недавно" добавили

Valeriy
28.09.2018
15:45:57

Artyom
28.09.2018
15:46:10
Если надо, сделай пр)

Valeriy
28.09.2018
15:46:19

Artyom
28.09.2018
15:46:34
@sergeysova чего у тебя дока такая не понятная :)

Сергей
28.09.2018
15:47:06

Artyom
28.09.2018
15:47:14

Сергей
28.09.2018
15:47:20
¯\_(ツ)_/¯

Google

Artyom
28.09.2018
15:47:25
Покажи пример как тестировать с езекутом и как с санками

Сергей
28.09.2018
15:47:27
скажите что написать надо

Artyom
28.09.2018
15:47:29
разница будет очевидна

Сергей
28.09.2018
15:47:30

Artyom
28.09.2018
15:47:44
мне писать лень и некода сейчас(

Valeriy
28.09.2018
15:49:41
я бы еще возможно добавил туда знаете чего?
если thunk функция не промис, то оборачивал бы ее в промис всегда
чтобы любой диспатч тсанок можно было делать await

Artyom
28.09.2018
15:50:33
Авейтить можно и синхронщину :)

Valeriy
28.09.2018
15:50:52
ага а вот then делать не получится :))

Artyom
28.09.2018
15:51:07
Зачем, если есть авейт ?

Valeriy
28.09.2018
15:51:16
ну это так для унификации

Artyom
28.09.2018
15:51:27
нет, это может кому-то что-то сломать

Valeriy
28.09.2018
15:51:42
ну может быть

Artyom
28.09.2018
15:51:44
у меня был кейс, когда я дожидался результата из синхронной мидлвары

Valeriy
28.09.2018
16:01:03
разобрался в коде, идея интересная
надо добавить экстра аргументы еще и будет збс
чтобы можно было делать что то типа
myAction = (params) => async ({ dispatch, getState, { api1, api2 }) => {
const result1 = await api1.get()
const result2 = await api2.get(result1)
return result2
}

Voskresus
28.09.2018
16:03:20
Уважаемые, у роутов есть какая-то анимация ?
react-router-dom

Roman
28.09.2018
16:03:57

Google

Valeriy
28.09.2018
16:04:33

Artyom
28.09.2018
16:16:48
https://habr.com/post/418619/

7777
28.09.2018
16:22:10
Максимальное количество символов в теге div/paragraph,
$('p').text().substring(0,170).append('...');
если в параграфе есть теги форматиривания типу strong или другие как укоритить параграф не потеряв форматирование текста? спасибо
https://jsfiddle.net/1fpexqzL/

Kirill
28.09.2018
16:43:29
{"status":"ok","message":{"tasks":[{"id":1,"username":"Test User","email":"test_user_1@example.com","text":"Hello, world!","status":"10","image_path":"https:\/\/uxcandy.com\/~shapoval\/test-task-backend\/upload\/user_images\/5900dfd7\/1508836540_1.jpg"}]},"total_task_count":1}
Ребят, как вывести таски из этого jsona?
console.log(this.state.messages.message.tasks); пытаюсь вот так, но пишет андефайнд(

Stepan
28.09.2018
16:47:59
{"status":"ok","message":{"tasks":[{"id":1,"username":"Test User","email":"test_user_1@example.com","text":"Hello, world!","status":"10","image_path":"https:\/\/uxcandy.com\/~shapoval\/test-task-backend\/upload\/user_images\/5900dfd7\/1508836540_1.jpg"}]},"total_task_count":1}
Ребят, как вывести таски из этого jsona?
console.log(this.state.messages.message.tasks); пытаюсь вот так, но пишет андефайнд(
messages.message?
Может, тебе надо какой-то элемент из массива взять?

Kirill
28.09.2018
16:48:21
мне нужно только таски взять
tasks

Stepan
28.09.2018
16:49:02
Массив?

Kirill
28.09.2018
16:49:15
tasks":[{"id":1,"username":"Test User","email":"test_user_1@example.com","text":"Hello, world!","status":"10","image_path":"https:\/\/uxcandy.com\/~shapoval\/test-task-backend\/upload\/user_images\/5900dfd7\/1508836540_1.jpg"}

Kirill
28.09.2018
16:49:15
да

Stepan
28.09.2018
16:49:42
Ты пытаешься взять this.state.messages
А у тебя tasks

Kirill
28.09.2018
16:50:09
у меня таски в message находятся
"message":{"tasks"

Stepan
28.09.2018
16:50:26
Хорошо, а message где?
В массиве?
messages

Google

Stepan
28.09.2018
16:50:35
?

Kirill
28.09.2018
16:50:40
в объекте

Stepan
28.09.2018
16:51:11
А почему у тебя называется переменная messages и это объект с полем message?
Это же тупо
Не?
Ладно, короче, смотри как сделай
Выведи в рендере this.state в консоль
В хроме правой кнопкой нажми и выбери "set as global variable"

Admin
ERROR: S client not available

Stepan
28.09.2018
16:52:29
Сможешь в консоли нормально потрогать этот объект
И сам себе всё найдёшь что надо

Kirill
28.09.2018
16:55:25
http://prntscr.com/kzw4t0
вот у меня
но если я пишу
console.log(this.state.messages.message.tasks);
пишет ошибку

Stepan
28.09.2018
16:57:02

Kirill
28.09.2018
16:58:47
this.state = {
messages:[]
}

Stepan
28.09.2018
16:59:00
Ты наблюдаешь?
Сука

Google

Kirill
28.09.2018
16:59:47
вот он

Сергей
28.09.2018
17:00:15

Stepan
28.09.2018
17:00:17
У тебя в начальном стейте это массив

Сергей
28.09.2018
17:00:23
Не?
слыш. столбиками хорош писать

Stepan
28.09.2018
17:00:30
Бля, извини

Kirill
28.09.2018
17:00:50

Stepan
28.09.2018
17:00:56
this.state = {
messages:[]
}
Ты изначально ставишь messages массивом и на первом рендере получаешь ошибку потому что на messages нет поля message.
Определись с тем, какого типа у тебя messages и работай с ним соответственно.

Kirill
28.09.2018
17:02:44
у меня когда я пишу
this.state.messages.message все норм выводит, вот
http://prntscr.com/kzw7pf
но почему-то, когда я добавляю .tasks пишет андефайнд

Stepan
28.09.2018
17:03:24

Artyom
28.09.2018
17:03:56
https://hackernoon.com/codesandbox-containers-5864a8f26715

Again
28.09.2018
17:22:03
как в 2018 вставлять пропсы в стейт?

Kirill
28.09.2018
17:22:13

Stepan
28.09.2018
17:22:27

Kirill
28.09.2018
17:22:36
http://prntscr.com/kzwfxf
как-то можно сделать задержку?

Егор
28.09.2018
17:23:30

Алексей
28.09.2018
17:27:45
кто нибудь знает сервисы для принятия post запросов и их сохранения? на случай допустим использования xss на сайте

Vadim
28.09.2018
17:29:14
Ребят, как-нибудь можно полностью заблокировать обновление страницы?!
F5 и Ctrl+F5 заблочил, но вот само браузерное обновление срабатывает
Максимум чего удалось добиться - с помощью beforeunload выводить стандартное браузерное сообщение о том что делать так аяяй как плохо?! :)