Size: a a a

React Native — русскоговорящее сообщество

2020 July 20

АК

Алексей Козин... in React Native — русскоговорящее сообщество
Shahriyar Badalov
Вот файл где у меня проблема
Реакт - это функции, которые вызывают другие функции. Сайд эффекты все изолированы, стэйт изолирован. Лучше от этого не отклоняться.

Меня смущают некоторые моменты у тебя:



setI18nConfigs();
setI18nConfig();
let loadData = dataRecipe();
эти вызываются вне какой-либо функции, скорее всего они делают не то, что ты хочешь.

loadData скорее всего должна быть внутри CategoryMealsScreen в useEffect
Скорее всего там обращение к api - сайд эффект

i18n я не видел, чтоб кто-то так использовал
https://github.com/AlexanderZaytsev/react-native-i18n
<Text>{I18n.t('greeting')}</Text> - вот пример использования
Вот тут посмотри пример того, как хранят переводы и их используют
https://github.com/AlexanderZaytsev/react-native-i18n/tree/master/example/src/translations



CategoryMealsScreen.navigationOptions = …
Тоже не по фэнешую конфигурируешь, возможно оно так не дружит, нужно как props передавать в экран
Пример тут
https://reactnavigation.org/docs/header-buttons



displayedMeals.sort - уже говорили, что функция с сайд эффектом
замени на [...displayedMeals].sort - создаст неглубокую копию и ее уже будет использовать




Что происходит в CustomMenu и MealList я не вижу, быть может там тоже что-то есть.

Щас скорее всего проблема в dataRecipe+useEffect и sort
источник

МК

Миша Ковальчук... in React Native — русскоговорящее сообщество
Александр Бакиматов
а шо уже руками 2 строчки не модно написать?
как ты предлагаешь? Числа у меня будут разные. Допустим придет число 500 000 000, мне нужно показать 500 000К(или какие-то другие обозначения, и написать, допустим 500М), придет больше, допустим 500 000 000 000, уже нужно какие-то другие обозначения использовать или написать 500 000М.
источник

%

%username% in React Native — русскоговорящее сообщество
Миша Ковальчук
как ты предлагаешь? Числа у меня будут разные. Допустим придет число 500 000 000, мне нужно показать 500 000К(или какие-то другие обозначения, и написать, допустим 500М), придет больше, допустим 500 000 000 000, уже нужно какие-то другие обозначения использовать или написать 500 000М.
источник

%

%username% in React Native — русскоговорящее сообщество
у нас на инвестиционном продукте была проблема что на мобилке не влезали суммы, мы обошли это как раз с помощью 50k, 5M и тп, однако, округляет он криво, нам не понравилось, сделали чуть иначе, но это уже контекст
источник

АБ

Александр Бакиматов... in React Native — русскоговорящее сообщество
Миша Ковальчук
как ты предлагаешь? Числа у меня будут разные. Допустим придет число 500 000 000, мне нужно показать 500 000К(или какие-то другие обозначения, и написать, допустим 500М), придет больше, допустим 500 000 000 000, уже нужно какие-то другие обозначения использовать или написать 500 000М.
не вижу никакой проблемы в делении и подстановке нужного символа из словаря, в целом от задачи зависит. Но сразу бежать за либой не попробовав решить задачу самому - такое себе
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
Миша Ковальчук
как ты предлагаешь? Числа у меня будут разные. Допустим придет число 500 000 000, мне нужно показать 500 000К(или какие-то другие обозначения, и написать, допустим 500М), придет больше, допустим 500 000 000 000, уже нужно какие-то другие обозначения использовать или написать 500 000М.
500kk
источник

МК

Миша Ковальчук... in React Native — русскоговорящее сообщество
Александр Бакиматов
не вижу никакой проблемы в делении и подстановке нужного символа из словаря, в целом от задачи зависит. Но сразу бежать за либой не попробовав решить задачу самому - такое себе
писать велосипеды не такое себе? Хотя конечно тут правда наверное посередине
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
источник

МК

Миша Ковальчук... in React Native — русскоговорящее сообщество
%username%
у нас на инвестиционном продукте была проблема что на мобилке не влезали суммы, мы обошли это как раз с помощью 50k, 5M и тп, однако, округляет он криво, нам не понравилось, сделали чуть иначе, но это уже контекст
спасибо
источник

АК

Алексей Козин... in React Native — русскоговорящее сообщество
Миша Ковальчук
писать велосипеды не такое себе? Хотя конечно тут правда наверное посередине
Согласен, что веллики писать не надо
Тут еще тесты прикручивать, чтобы убедиться, что все конверсии правильные )
И 2 строчки нефига не 2 строчки оказываются
Лучше экономить время и либу ставить
Если проблемы с весом бандла (а их тут нет), то уже отдельно оптимизировать
источник

%

%username% in React Native — русскоговорящее сообщество
Миша Ковальчук
писать велосипеды не такое себе? Хотя конечно тут правда наверное посередине
Велосипед позволяет познать проблему и ее решение изнутри 🙂 это тоже хорошо, обычно решение где-то по середине между либой и велосипедом и обычно оно выглядит как форк или пулреквест в либу 🙂
источник

АБ

Александр Бакиматов... in React Native — русскоговорящее сообщество
Миша Ковальчук
писать велосипеды не такое себе? Хотя конечно тут правда наверное посередине
читай меньше про велосипеды, а то для тебя будет проблема когда попадешь в продукт в котором стоит лок на спользование какой то части сторонних решений например. если задача вполне решается собственными силами и при этом не несет потерь для бизнеса не во времени ни в средставах - ее вполне можно сделать самому
источник

АБ

Александр Бакиматов... in React Native — русскоговорящее сообщество
%username%
Велосипед позволяет познать проблему и ее решение изнутри 🙂 это тоже хорошо, обычно решение где-то по середине между либой и велосипедом и обычно оно выглядит как форк или пулреквест в либу 🙂
+
источник

%

%username% in React Native — русскоговорящее сообщество
лишнее потраченное время разработчика = потери бизнеса, тарам пам пам
источник

АК

Алексей Козин... in React Native — русскоговорящее сообщество
%username%
лишнее потраченное время разработчика = потери бизнеса, тарам пам пам
+
источник

АБ

Александр Бакиматов... in React Native — русскоговорящее сообщество
%username%
лишнее потраченное время разработчика = потери бизнеса, тарам пам пам
под такой критерий можно все что угодно притянуть)
источник

Ш

Шах in React Native — русскоговорящее сообщество
как вы раните ios симулятор на вс код? (expo)
источник

AK

Alexey Kondratev in React Native — русскоговорящее сообщество
ну если  каждый такой случай будет нести потери для бизнеса, то через год, в проекте будет либ на 100 гигов, тогда уже будут реальные потери
источник

АК

Алексей Козин... in React Native — русскоговорящее сообщество
Alexey Kondratev
ну если  каждый такой случай будет нести потери для бизнеса, то через год, в проекте будет либ на 100 гигов, тогда уже будут реальные потери
Да, но у них будет рабочий проект на 100 гигов, либо половина рабочева на велосипедах, такой уж выбор
источник

АБ

Александр Бакиматов... in React Native — русскоговорящее сообщество
дисклеймер, я не топлю за то что все надо писать самому. но если только пользовать либы - есть вариант начать стагнировать
источник