
Igor
19.10.2018
10:35:52
Совершенно случайно вдруг кто-нибудь сталкивался: задача заключается в том что пользователь должен иметь возмодность тачем отредактировать растровую картинку. Те условно говоря нужна примитивная рисовалка на канвасе/контексте В RN нет апи доступа к графическим подисистемам, поэтому нужен врапнутый нативный компонент Мб кто-то с чем-то таким работал

Aleksey
19.10.2018
11:40:34
Подскажите как в RN лучше картинки импортить. Читал что вот так не рекомендуется
const splashIcon = require('src/img/splash_logo.png');
Или так лучше:
<Image source={require('/react-native/img/favicon.png')}/>

Dmitry
19.10.2018
11:46:22
Может будут у кого мысли, я хотел модифицировать mapDispatchToProps внутри connect для передачи туда дополнительных данных, но выходи так, что connect вызывается самым первым еще до рендера самого компонента и соответсвенно данных
Как бы его придержать ?

Google

Mukhamed
19.10.2018
11:52:46
У кого было такое, на андроиде не ранится
А когда remote debug включаю то не выдаёт этой ошибки

Illia
19.10.2018
11:59:28
Все добрый день. А как получить доступ и разрешение на сохранение файло на ios? Юзаю библиотеку joltup/rn-fetch-blob
Или вообще возможно сохранять файлы на ios платформу?

Gena
19.10.2018
12:19:01

Chu
19.10.2018
12:23:51

Gena
19.10.2018
12:23:55

Dmitry
19.10.2018
12:25:10

Dmitry
19.10.2018
12:26:35

Gena
19.10.2018
12:29:18
Да, я видел, но не помогло
Т.е. нужны не просто props компонента в мэппере, а что-то ещё? Если стейт нужен - труба... надо бить на два компонента и connect на внутреннем дергать, а стейт во внешнем держать и передавать вниз как props
Но redux не моя тема )

Dmitry
19.10.2018
12:30:00
Да не, там ни стейт ни пропсы не нужны

Google

Dmitry
19.10.2018
12:31:20
Я просто делаю "редаксовский конвейер", и хотел туда подсунуть экшены, чтобы проще было биндить. Ох щас камни полетят)

Gena
19.10.2018
12:35:18

Dmitry
19.10.2018
12:37:29
до mobx мы еще не дошли

Illia
19.10.2018
12:40:59
@iLonny поставил путь сохранения: DocumentDir, записывает файл в директорию
/var/mobile/Containers/Data/Application/DC36939.../Documents/y2E7lMsY5ryL1bJ9ewZpvAaC082Gq6ZV.jpg но как мне теперь его просмотреть?

Play
19.10.2018
12:43:25
Передаю картинку в компонент:
<Children
iconRightPlus={iconRightPlus}
/>
Предворительно импротрируя ее
import iconRightPlus from '../../../images/filter.png'
Далее все как обычно, пытаюсь подключить ее:
<Image source={iconRightPlus} style={{ width: 30, height: 30 }} />
Картинка не отображается, в чем дело?

Dmitry
19.10.2018
12:44:35

Dmitry
19.10.2018
12:48:00

Illia
19.10.2018
12:48:09
@playra source должен быть 'uri' или 'require()'
source={require('/react-native/img/favicon.png')}source={{uri: 'https://facebook.github.io/react-native/docs/assets/favicon.png'}}
@iLonny проблема теперь его просмотреть, в андроиде могу просмотреть через дополнительные проги типа: Микрософф Ворд, ПДФ ридер ....

Play
19.10.2018
12:51:08

Illia
19.10.2018
12:57:30
@playra https://facebook.github.io/react-native/docs/image#source

Play
19.10.2018
12:59:12
Как в чилдрен передать?

Illia
19.10.2018
13:01:51
@playra
<Children
iconRightPlus={iconRightPlus}
/>Выходит загвоздка в этом. Название атрибута идентично с параметром атрибута. И что это за чилдрен елемент?

Play
19.10.2018
13:02:28
> Название атрибута идентично с параметром атрибута.
?

Illia
19.10.2018
13:05:12
@playra ты бы сразу и начал бы с норм впороса... как в чилдрен передать

Play
19.10.2018
13:05:48
Передаю картинку в компонент, не одно и тоже?

Google

Illia
19.10.2018
13:13:27
@playra попробуй через this.props.iconRightPlus

Play
19.10.2018
13:55:48

Никита
19.10.2018
13:57:39
так и пробывал
а если логать значение там вообще есть?
если рендерить не картинку а красный квадрат 30 на 30 есть что-то?

Vladislav
19.10.2018
14:48:29
Приветствую, подскажите как разместить вакансию на Reactnative разработку / 1 мес. ?

Alexsandr
19.10.2018
14:56:11
https://t.me/javascript_jobs

Alexandr
19.10.2018
16:29:25

Play
19.10.2018
17:01:01
спасибо!

Dmitry
19.10.2018
17:55:32
Простите меня. без попутал, флаттер поставился сам

Alexander
19.10.2018
18:34:55
Как подружить react-native-typescript-transformer и hot reload?

Gena
19.10.2018
18:54:22
у меня они вроде дружат... вот с mobx не всегда...

Dmitry
19.10.2018
19:08:33
@gblack9 Кстати, ты, как-то обмолвился, что у вас api на вебсокетах
я правильно понимаю, что речь об api запрос - ответ?

Gena
19.10.2018
19:14:52
я правильно понимаю, что речь об api запрос - ответ?
Не совсем, там независимо можно команды посылать, как client->server, так и server -> client... и уже поверх этой абстракции, можно послать команду с токеном на сервер, который этот токен назад пришлет (чтоб клиент смог понять, что это именно на такой-то его запрос ответ)

Dmitry
19.10.2018
19:15:45

Play
19.10.2018
19:21:44


Dmitry
19.10.2018
19:25:14
Если коротко, то у нас достаточно сложное корпоративное приложение. Представляет собой многоуровневую систему задач, есть корневые задачи, вложенные и конечные. В конечных задачах есть возможность вести обсуждения в чатах. При этом поступление нового сообщения в чат должно добавлять счетчик сообщения на его задачу и поднимать счетчики вверх по дереву. Изменение наборов свойств родительских задач пораждает измениня вниз по дереву и так далее. Ну еще и свои боты есть, которые динамически создают задачи и сообщения для определенных наборов участников задач и чатов. Я не говорю еще и о разделении прав, администраторах, наследовании при создаании задач и закрытии чатов и задач с пробросом вниз и вверх по дереву. Сейчас все это живет на http подобном api и лонгпуллинг подпиской, которая рассылает ивенты на устройства при тех или иных изменениях в данных. Делать все это мне было достаточно трудоемко. Сервер на python + MSSQL и Clickhouse для агрегации логов и уведомлений + генерация шифрованных токенов для защиты запросов. В итоге все это работает, но есть просадки с зависанием запросов на клиентах + лонгпуллинг может быть требователен к ресурсам ведь фактически приходится дергать Clickhouse раз в 100ms за новым данными. К сожалению, когда эту задачу ставили не дали подниматься вебсокеты, так как у нас прокси сервер достаточно старый и с ними работает плохо, но сейчас уже готовлю сервер для v2 и можно поиграть с сокетами...


Gena
19.10.2018
19:55:51
Если коротко, то у нас достаточно сложное корпоративное приложение. Представляет собой многоуровневую систему задач, есть корневые задачи, вложенные и конечные. В конечных задачах есть возможность вести обсуждения в чатах. При этом поступление нового сообщения в чат должно добавлять счетчик сообщения на его задачу и поднимать счетчики вверх по дереву. Изменение наборов свойств родительских задач пораждает измениня вниз по дереву и так далее. Ну еще и свои боты есть, которые динамически создают задачи и сообщения для определенных наборов участников задач и чатов. Я не говорю еще и о разделении прав, администраторах, наследовании при создаании задач и закрытии чатов и задач с пробросом вниз и вверх по дереву. Сейчас все это живет на http подобном api и лонгпуллинг подпиской, которая рассылает ивенты на устройства при тех или иных изменениях в данных. Делать все это мне было достаточно трудоемко. Сервер на python + MSSQL и Clickhouse для агрегации логов и уведомлений + генерация шифрованных токенов для защиты запросов. В итоге все это работает, но есть просадки с зависанием запросов на клиентах + лонгпуллинг может быть требователен к ресурсам ведь фактически приходится дергать Clickhouse раз в 100ms за новым данными. К сожалению, когда эту задачу ставили не дали подниматься вебсокеты, так как у нас прокси сервер достаточно старый и с ними работает плохо, но сейчас уже готовлю сервер для v2 и можно поиграть с сокетами...
Имхо, тут не только в сокетах дело... хотя я считаю, они должны быть неотемлемой частью такой системы (лонг поллинг это хак в любом случае). Тут, если самим делать, большая задача это определение протокола который:
1. позволяет закодировать все изменения данных
2. позволяет сделать это компактно
И вторая большая задача это сервер... по опыту такие системы шустро работают, только если working set... те данные про которые сейчас нужно кому-то знать находятся в памяти и изменения по ним рассылаются во сессии всех клиентов которым нужно о них знать одновременно (или непосредственно после) укладки в бд )


Dmitry
19.10.2018
19:58:20
Имхо, тут не только в сокетах дело... хотя я считаю, они должны быть неотемлемой частью такой системы (лонг поллинг это хак в любом случае). Тут, если самим делать, большая задача это определение протокола который:
1. позволяет закодировать все изменения данных
2. позволяет сделать это компактно
И вторая большая задача это сервер... по опыту такие системы шустро работают, только если working set... те данные про которые сейчас нужно кому-то знать находятся в памяти и изменения по ним рассылаются во сессии всех клиентов которым нужно о них знать одновременно (или непосредственно после) укладки в бд )
Да, но при обычном http-api ты не знаешь кому отправлять данные, потому что никто к тебе и не подключен.. Лонгпуллинг в этом случае позвляет мне отслеживать коннекты по подписке на события и отправлять данные только тем, кто онлайн из тех, кто должен получить данные, потому что остальные и так их получат, когда войдут в приложение обычными запросами

Google

Gena
19.10.2018
20:05:02

Roman
19.10.2018
20:45:33
есть ли возможность слить папку из files.app к себе в локальные документы приложения?

Dmitry
19.10.2018
20:52:19
хотя может инфа устаревшая у меня
Что то я уже всю голову сломал. Есть у меня HOC компонент я могу в нем получить контекст Component котого он оборачивает?

Play
20.10.2018
07:39:06
23,5 часа качественого видео по этой теме

Dmitry
20.10.2018
08:12:14

Play
20.10.2018
08:27:35
Спасибо
Там как раз по вашей теме чатов, так как у Prisma(Yoga) встроена, в том числе, автогенерация кода для подписок на веб-сокетах.
https://www.prisma.io/blog/how-to-build-a-real-time-chat-with-graphql-subscriptions-and-apollo-d4004369b0d4/
стартер для чата
https://github.com/alan345/naperg

Роман
20.10.2018
09:07:39
Добрый день. Кто нибудь знает есть ли у react-navigation метод который отрабатывает при смене экрана? раньше был onNavigationStateChange но сейчас при его реализации вылезает error. Можно конечно написать middlerware но мне это не подходит.

Play
20.10.2018
09:15:38

Роман
20.10.2018
09:19:09

Dmitry
20.10.2018
11:24:54
Прикрутил и gifted-chat для сообщений, в итоге почти целиком его переписал, потому что примитивный функционал

Play
20.10.2018
11:40:23

morda
20.10.2018
11:45:59
Призма шляпа же)
https://github.com/hasura/graphql-engine
Вот хасуру берите)

Play
20.10.2018
11:47:19

Google

Play
20.10.2018
11:51:32
Холиварная тема, не для этого чата. Это как выбор редактора кода, кому что под конкретные задачи. Знаю хасуру индусы запилили, но лучше Prisma не встречал.

morda
20.10.2018
11:59:03
Ну чот не понравилась не помню уже. Как-то костыльно показалось все
Ну это еще как только появилась. Мож ее там переписали уже 10 раз

Denis
20.10.2018
12:03:15

Play
20.10.2018
12:04:15

Denis
20.10.2018
12:05:25
Потому что "иди форкай и фиксь баг в плагине"

Play
20.10.2018
12:09:01
https://react.amsterdam/awards.html

Denis
20.10.2018
12:09:46
У них ЯВНЫЙ баг в плагине для сборки, и вроде еще не пофиксили даже
Зато 6 лямов инвестиций же! Не барское это дело "баги править"