
Vladimir
12.04.2017
17:12:34
В РН можно по разному реализовать между iOS/Android
Вообще за тем же, зачем и вообще идет разделение на компоненты

Murad
12.04.2017
17:13:03
если компонент чистый, то это дает тебе ряд предположений:
- компонент ничего не меняет снаружи
- компонент зависит только от своих пропсов (а значит легко отслеживаемый через дев-тулзы)

Vladimir
12.04.2017
17:13:06
логика скорее всего и так где-нить в редаксе

Google

Murad
12.04.2017
17:13:37
что в целом, дает тебе огромное преимущество "не думать" большим массивом компонентов

Vladimir
12.04.2017
17:13:41
Даже если упороться по редаксу, то все равно в компонентах своя логика
Анимации всякие, жесты и т д

Murad
12.04.2017
17:13:54
есть и ui логика, типа анимаций или промежуточных стейтов

Vladimir
12.04.2017
17:15:06
ну все равно приходим к тому, что стейт где-то есть, так?

Vladimir
12.04.2017
17:15:16
Естественно

Vladimir
12.04.2017
17:15:33
только вместо одного компонента - два или больше

Vladimir
12.04.2017
17:15:43
Так в этом ничего плохого

Vladimir
12.04.2017
17:15:53
ну и хорошего тоже

Murad
12.04.2017
17:15:54
да, но тк стейт это complex, то лучше его держать в минимизированном виде, не смешивая

Vladimir
12.04.2017
17:15:57
все ситуативно

Vladimir
12.04.2017
17:15:58
А то так можно и все приложение в одном классе написать

Vladimir
12.04.2017
17:16:08
вообще можно

Google

Murad
12.04.2017
17:16:15
да, зачем впринципе уходить от index.platform
во, ден переименовал даже их
одно - для показа
второе - для инкапсулирования изменяющейся логики
https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0
по сути, это фундаментальный подход "разделения на консьерны"
просто с реакт спецификой

Vladimir
12.04.2017
17:20:08
Кстати, вполне можно делать и чистые компоненты с анимацией
Анимация при этом передается через пропсы

Murad
12.04.2017
17:20:51
тогда анимация находится в пэренте

Vladimir
12.04.2017
17:20:58
ага
И пэрент уже рулит

Murad
12.04.2017
17:21:16
тогда это чистый компонент, возвращающий дерево
анимационную манипуляцию уже реакт делает с деревом

Vladimir
12.04.2017
17:21:33
Да, он просто поддерживает опциональную анимацию

Murad
12.04.2017
17:21:44
компонент остается чистым, а стейт находится внутри Animate.Value

Vladimir
12.04.2017
17:21:50
Да

Vladimir
12.04.2017
18:10:32
ну в общем, просто надо помнить, что у этого есть цена, а профит от реиспользования не всегда удается получить

Igor
12.04.2017
18:20:22
REFGTNBDSH7

Алексей
12.04.2017
19:56:24
ну кстати stateless компоненты неплохо так защищают от использования хуков реакта, по опыту - если юзаются хуки, жди баги

Murad
12.04.2017
20:02:59
я бы уточнил - защищают от соблазна использовать хуки

Алексей
12.04.2017
20:03:12

Murad
12.04.2017
20:03:12
хуки усложняют, изза необходимости помнить "что за чем"

Google

Murad
12.04.2017
20:03:27
но основное усложнение в том что в них используют императивные вызовы

Vladimir
12.04.2017
20:03:33
Использование хуков неизбежно
В РН, по крайней мере
И рефов

Murad
12.04.2017
20:04:19
по разному
если положить стейт в редюкс
то большинство приложений легко делается без хуков

Vladimir
12.04.2017
20:04:20
И вызова императивных методов

Murad
12.04.2017
20:04:51
в целом, хуки часто используются, если изолированный библиотечный компонент
но мы его воспринимаем как "черный ящик" который должен работать

Vladimir
12.04.2017
20:05:07
Если приложение без анимаций - то может быть

Алексей
12.04.2017
20:05:23

Vladimir
12.04.2017
20:05:37
Ну эт само собой

Кирилл
13.04.2017
07:45:20
Всем доброе утро!
Кто-нибудь пытался разобратсья зачем RN добавляет пермишны на Photos/Media/Files и Device ID & call information? Есть issue https://github.com/facebook/react-native/issues/5886 где это разбирают и пишут как убрать неиспользуемые разрешения (WRITE_EXTERNAL_STORAGE, READ_PHONE_STATE, READ_EXTERNAL_STORAGE).
Но я так и не могу понять зачем они добавляются?

Alexander
13.04.2017
07:53:58
Видимо, чтобы из коробки их компоненты и api работали

Кирилл
13.04.2017
07:55:20
ну AsyncStorage их коробки a SQLite DB испольузет и не требует никаких прав
в принципе после отключения никаких изменений не заметил, но думаю может есть какие подводные

Andrey
13.04.2017
10:19:37
возник вопросик каверзный...
как вообще реактнативе норм или не ?
чот глянул в гитхаб ... там версия 1000.0
https://i.imgur.com/b6ZYitT.png
так делают или когда забили .... ну или у них отдельно версия вешается перед паблишем в нпм
планирую попробовать. Подскажите вообще проблемная тема ?
функционал у меня не сложнее чем обычный сайтик.
не придётся часть функционала допиливать на какомнить обжективе-си или свифте ?

Алексей
13.04.2017
10:23:52

Google

Алексей
13.04.2017
10:24:02
или просто не стали чтобы у себя ниче не ломать

Ostap
13.04.2017
10:48:13
Всем привет. Кто нибудь заводил full screen video на андроиде с помощю https://github.com/react-native-community/react-native-video ?

Кирилл
13.04.2017
10:59:59

Ostap
13.04.2017
11:00:28
вопрос: как ?
есть
<Video
ref={ref => this.video = ref}
source={{ uri: this.props.source.src }}
style={styles.fullScreen}
rate={this.state.rate}
paused={this.state.paused}
volume={this.state.volume}
muted={this.state.muted}
resizeMode={this.state.resizeMode}
onLoad={this.onLoad}
onProgress={this.onProgress}
onEnd={this.onEnd}
onAudioBecomingNoisy={this.onAudioBecomingNoisy}
onAudioFocusChanged={this.onAudioFocusChanged}
repeat={false}
/>
и есть this.video.presentFullscreenPlayer();
но оно не пашет

Кирилл
13.04.2017
11:11:46
что не пашет? делаешь
position: 'absolute',
top: 0,
left: 0,
bottom: 0,
right: 0

Ostap
13.04.2017
11:12:45
ну на iOS там нативный видео плеер открывается
и еще вопрос, я с дуру сделал → react-native-git-upgrade 0.43.3
теперь не могу откатиться

Кирилл
13.04.2017
11:13:46
гит наше все

Ostap
13.04.2017
11:14:12
ех

Кирилл
13.04.2017
11:14:55

Ostap
13.04.2017
11:15:16
так я ж наоборот хочу вызывать

Кирилл
13.04.2017
11:16:02
фулскрин видео нужно на бэкграунде или при нажатии чтоб плеер открылся??

Ostap
13.04.2017
11:16:21
когда тапаю - фулскрин и autoplay

Кирилл
13.04.2017
11:44:29

Ostap
13.04.2017
11:44:44
:(
https://github.com/react-native-community/react-native-video/issues/392

Кирилл
13.04.2017
11:46:04
да... дела

Google

Алексей
13.04.2017
11:46:36
:(
вот вообще неправильная реакция, такой шанс запилить плеер на андроид и помочь сообществу! ?

Кирилл
13.04.2017
11:50:09
еще в RN нормального компонента селекта не видел

Ostap
13.04.2017
11:50:56

Алексей
13.04.2017
11:51:40
я не Java dev :)
да ладно тебе, SO и все сделаешь) я тоже не Java дев, но иногда если нужно пишу нативный модуль)

Alexander
13.04.2017
13:19:02
+1, это совсем несложно

Roman
13.04.2017
13:48:04
Как решить эту проблему, вроде все пишут что react/react-dom версии должны совпадать, ну зделал, а ничего не изменилось, на другом компе тоже также, я уже второй день маюсь) измотался

Fire
13.04.2017
13:50:43
Там по пунктам расписано - не помогло?

Roman
13.04.2017
13:50:48
нет

Dmitry ?
13.04.2017
13:50:56
Сегодня такое было

Roman
13.04.2017
13:51:11
уже и $TMPDIR/react* сносил и ios/build

Dmitry ?
13.04.2017
13:51:16
Попробуй удалить ^ у react-native и react зависимостей

Roman
13.04.2017
13:51:17
и репозиторию заново
ок

Dmitry ?
13.04.2017
13:51:27
Какие там версии стоят у тебя?

Roman
13.04.2017
13:51:43
- "react": "^16.0.0-alpha.6",
- "react-dom": "^16.0.0-alpha.6",
15.4.0 тоже пробывал