Alexander
Vlad
Всем привет
Ребята, у кого опыт работы с RN под IOS и Android более 1 года: помогите пожалуйста доделать приложение: вылетает по крашу + надо добавить 2 экрана для редактирования профиля пользователя. За деньги
Yar
Evgenii
У меня ссылка не открывается(((
Eli
Есть state = { visible: false } как можно подписаться на момент когда он из false переходит в true?
Gena
Всем привет
Ребята, у кого опыт работы с RN под IOS и Android более 1 года: помогите пожалуйста доделать приложение: вылетает по крашу + надо добавить 2 экрана для редактирования профиля пользователя. За деньги
@savelichalex Вот и пример к обсуждению про Expo выше. И конечно это не совсем про экспо... это в принципе про то, что я называю "дырявые абстракции" в RN. Т.е. необходимость знать нижележащий уровень абстракций фактически при любой проблеме. Просто сам RN - это дырявая абстракция, а над ним пытаются соорудить ещё одну в виде экспо... И идея тут не такая плохая... проблема в постановке вопроса, в позиционировании так сказать. Сперва фейсбук подает RN в виде "вы можете писать нативные приложения на js", потом экспо подает свою надстройку в таком же виде, "только ещё проще, мы за вас опубликуем и сбилдим", а на самом деле всё не так... Т.е. с моей точки зрения проблема скорей тут в дезинформации и обманутых ожиданиях.
Но это всё относится не только к эскпо, но и к самому RN. Что меня действительно волнует в истории с экспо так это то, что их API не совпадает с RN, т.е. это не совсем RN как бы, но это тоже не афишируется и поэтому пользователи с багами идут не в багтрекер экспо, а к фейсбуку )
Khorark
Khorark
Khorark
Я думаю эти все сказано
Gena
Я думаю эти все сказано
нет, не всё... фейсбук закрывает ишьюс автоматически, поэтому так просто правильную статистику не собрать
Khorark
Anonymous
всем привет, а возможно ли как-то сделать анимацию с изогнутым интерфейсом?
Khorark
Aleksei
чей ты
Я думаю эти все сказано
У ребят больше 30 нативных модуля в монорепо, с прекрасной поддержкой
И легко прикурчиваемые к чистому RN через unimodules
Khorark
ИМХО, это было моё мнение. Вы в праве не согласиться
Khorark
чей ты
Ivan
-
Anatolii
Подскажите, из коробки Expo не умеет импорить файлы через require(.../varibale); Использую динамический импорт через переменную, которая меняется. Что поставить для babel-а ?
Стоит пока один пакет "babel-preset-expo": "^5.0.0" и в конфиге прописано presets: ['babel-preset-expo']
Dmitry
Dmitry
Anatolii
бабелю не хватает чего-то ..
Anatolii
Локально лежат файлы и от туда вычитываю данные, файлы с конкретным именем, индекс для файла прокидываю в require
Gena
Anatolii
При чём тут браузер. Локально в папке с замокаными данными лежит json файл. Его подключаешь через require и получаешь все данные. У меня таких файлов просто больше
Dmitry
это другое совершеноо
Dmitry
ты require конкретного файла делаешь
Anatolii
А вы о чём подумали? Динамически импортить библиотеки что ли? )
Dmitry
Anatolii
Значит сам виноват, что плохо написал )
Dmitry
require(someVariable) делать нельзя а вот require(‘./some.json’)[someVariable] можно
Dmitry
ну или как-то так
Anatolii
Да это понятно. Для одного файла с конкретным именем работает. Не работает когда переменную прокидываю в require, бабел стандартный ведать не умеет такое резолвить
Dmitry
https://github.com/unimodules/react-native-unimodules
ну то есть, чтобы работать в экспо с модулями, нужно поставить в node_modules unimodules, чтобы через него ставить expo-модули, которые нельзя ставить в node_modules, потому что в node_modules их поставить нельзя?
Dmitry
Dmitry
это аксиома, так делать нельзя
Gena
Значит сам виноват, что плохо написал )
Да нет разницы на самом деле... смотрите, если вы работаете в среде node, где действительно есть файлы, то require(var) будет работать. А вот если ваш js процессится и превращается в bundle (один или несколько файлов), то они уже не процецируются на файловую систему. Так вот, в вебе скорей всего вы используете webpack, у него есть "эмуляция" динамический require, он просто включает все js файлы, что найдет в бандл, вот доки: https://webpack.js.org/guides/dependency-management#require-with-expression
А в RN в качестве бандлера работает metro, он такое не умеет.
Anatolii
Да нет разницы на самом деле... смотрите, если вы работаете в среде node, где действительно есть файлы, то require(var) будет работать. А вот если ваш js процессится и превращается в bundle (один или несколько файлов), то они уже не процецируются на файловую систему. Так вот, в вебе скорей всего вы используете webpack, у него есть "эмуляция" динамический require, он просто включает все js файлы, что найдет в бандл, вот доки: https://webpack.js.org/guides/dependency-management#require-with-expression
А в RN в качестве бандлера работает metro, он такое не умеет.
Спасибо. За ответ. С Вебпаком все верно. И какой выход ..?((
Dmitry
Да нет разницы на самом деле... смотрите, если вы работаете в среде node, где действительно есть файлы, то require(var) будет работать. А вот если ваш js процессится и превращается в bundle (один или несколько файлов), то они уже не процецируются на файловую систему. Так вот, в вебе скорей всего вы используете webpack, у него есть "эмуляция" динамический require, он просто включает все js файлы, что найдет в бандл, вот доки: https://webpack.js.org/guides/dependency-management#require-with-expression
А в RN в качестве бандлера работает metro, он такое не умеет.
☝️
Dmitry
Dmitry
можно сделать мапу с файлами и выдергивать их по ключу, или в ассеты добавить
Gena
Gena
Спасибо. За ответ. С Вебпаком все верно. И какой выход ..?((
Выход примерно такой:
export default {
'file1': require('./file1'),
'file2': require('./file2'),
// ...
}
Этот файлик можно и генерить, а там, где надо использовать просто включать его и брать нужный ключ
чей ты
Anatolii
У меня таких файликов file_1.json 500 штук ((
Anatolii
Dmitry
Anatolii
если не секрет, что там?
Да ничего особенно, данные для рендера в компонентах. Не спрашивай почему и зачем. Мне просто дали и скзаали сделай(
Gena
Это на ноде?
На чем угодно, я сейчас бы на ноде писал... а что там... fs.readdirSync... ну и генерация
Anatolii
Expo такой же файл не обработает верно, если я внутри напишу логику с ипортами библиотек с Node ?
Aleksei
node -e 'console.log(JSON.stringify(Array(10).fill(null).reduce((acc, i, key) => (acc["file" + key]="require(\"file" + key + ".json\")", acc), {}), null, " "))' > importFromHere.js
Aleksei
но с fs.readdirSync конечно интереснее)
Anatolii
Aleksei
Dmitry
я так понимаю, что react-navigation не умеет прокидывать на экраны observable ?
Aynur
никто не пытался завести YandexMetrica?
Aynur
не завелось на ios, возможно я чего-то не понимаю🤔
Yar
Мы использовали, работало без проблем, но возможно что-то и меняли в нативной части (в андройде точно), ну и сдк сами обновляли
Aynur
в итоге нормально завелось это: https://github.com/voroncv/rn-yandex-metrica
спасибо)
Kaira
Привет, стоит ли использовать Expo?
Anatolii
Написал отдельный скрип, который создаёт нужный мне объект с парами ключ - строка путь к файлу.
Как теперь получить такой объект в App? дело в том что если просто заипортить, то сразу же ругается Expo на require импорты, которые внутри скрипта.
Rishat
expo эт наверное как презерватив в презервативе
Kaira
Я использую, очень удобно и хватает для обучения
Просто Expo ведь не генерирует чистый Xcode, если его убрать . А генерирует с библиотеками . 25 мб пустой проект с expo весит .
Апдейты могут прилетать по-воздуху, значит Код хранится на чьих-то серверах
Kaira
То есть он при каждом запуске приложения делает запрос на сервера Expo
Можно использовать только встроенные Push уведомления .
И я слышал, что они не работают с IOS когда приложение не в Background. Но сам не проверял
Kaira
И вот, все ли верно я понимаю? Поделитесь опытом , стоит ли вообще вести разработку с Expo?
Diana
если у тебя простейшая прилага без рекламы/подписок и так далее - спокойно
если что-то сложнее то бери RN сборку изначально лучше
Kaira
Kaira
А приложение билдится в облаке , скачать можно только IPA