Andrey
еще 30 долларов дето пенсионный фонд
Andrey
😁
Denis
Серьезно? Это все что вычитается?
Да, у меня по крайней мере так. Ты работаешь как ФОП, платишь единый налог, выходит в районе 5%
Andrey
@nightflash13 вы из Росии?
Max
@nightflash13 вы из Росии?
Ага, фоп это типа ип?
Andrey
да, по вашему ИП
Andrey
@nightflash13 пока дают норм работать как видишь...а еще у нас сало есть))
Andrey
@latus не забудь про ЕСВ, там штрафы мама не горюй
Denis
Серьезно? Это все что вычитается?
Какой налог в России? Зависит как-то от региона?
Max
В России для ип все сложно :) не меньше 6% + фикс 500 долларов в год
Max
Но я работаю нормально по трудовому договору
Max
Поэтому мне все равно :)
Denis
А ит компании оформляют работников по ип или трудовому договору?
Irakliy
Ну растить из верстальщика тоже странно :)
Ну, опыт в джэс и реакте был на тот момент, видимо сочли, что и так сойдёт)
Max
Аутсосрсеры всякие любят ипшников, локальные компании по трудовому
Max
При работе как ип главный недостаток это отсутствие оплачиваемого отпуска, больничного и тп
Andrey
@nightflash13 у меня 24 дня отпуск, больничные 100%и медстраховка на ИП
Max
Так а почему апи возвращает дубли?
Если посмотреть на ответ, то если в посте есть вложения, то эти вложения имеют те же post_id, date и source_id
Max
И как бы их не складывал, они будут дублироваться
RedTeapot
@gblack9
Dmitry
@gblack9 ты используешь строгий режим в MobX, когда нельзя менять observable вне экшенов? Столкнулся с проблемой, что observable передали в компонент и по ссылке мутировали, хочу защититься от этого
Dmitry
Неприятная штука....
Dmitry
Есть кто так делал? Получается, что нужно в action оборачивать каждый метод, который вызывает экшен
Dmitry
А это не очень, как мне кажется
Сергей
Привет привет!
Gena
А это не очень, как мне кажется
Вот поэтому я так и не делаю, а акшны использую только для бэтчинга нотификаций. Ну или для доккментирования.
Шахзод
Добрый вечер , что посоветуете для локального хранения данных постов новостей(текст,изображения) из готовых решений?
Шахзод
Сергей
Хороший вопрос, кто знает ответ?
Dmitry
Шахзод
react-native-fs
А текст и ссылки на изображения в asyncstorage хранить ?
Dmitry
А текст и ссылки на изображения в asyncstorage хранить ?
В смысле? Я все данные храню в JSON внутри fs
Шахзод
В смысле? Я все данные храню в JSON внутри fs
Спасибо, я пока не работал с rn-fs по этому такие нелепые вопросы 😅
Сергей
Ребят, какие бесплатные карты посоветуете? Нужно что бы были функции расчета маршрута по точкам и отображение пробок Так ещё, что бы лимиты были большие. Будет около 200 клиентов в сутки
Dmitry
Спасибо, я пока не работал с rn-fs по этому такие нелепые вопросы 😅
Если что пиши в личку, дам кусок кода для чтения и записи
Сергей
here.com
Спасибо
Dmitry
Выложу это здесь, просто чтобы было. Вдруг кому пригодится. #reactnativefs
Dmitry
import fs from 'react-native-fs'; import ExceptionService from 'src/services/ExceptionService'; import { JSONParse } from 'src/utils/helpers'; class FsService { private prepareLibraryDirectoryPath = (...args: string[]) => { return [fs.LibraryDirectoryPath, ...args].join('/'); }; private createDirectoryInLibrary = (dirname: string) => { return fs.mkdir(dirname); }; readJsonFile = async <T>(filename: string): Promise<T | undefined> => { const filenameInLibrary = this.prepareLibraryDirectoryPath(filename); try { const isFileExists = await fs.exists(filenameInLibrary); if (!isFileExists) return; const fileContent = await fs.readFile(filenameInLibrary); const fileContentObject = JSONParse(fileContent); return fileContentObject.fileContent; } catch (error) { ExceptionService.captureException(error); return error; } }; writeJsonFile = async <T>(filename: string, fileContent: T) => { const directoryInLibrary = this.prepareLibraryDirectoryPath(); try { this.createDirectoryInLibrary(directoryInLibrary); const filenameInLibrary = this.prepareLibraryDirectoryPath(filename); const fileContentString = JSON.stringify({ fileContent }); return fs.writeFile(filenameInLibrary, fileContentString); } catch (error) { ExceptionService.captureException(error); return error; } }; } export default new FsService(); JSONParse можно заменить на JSON.parse Запись файла FsService.writeJsonFile(`${filename}.json`, { a: 'test' }) Чтение файла FsService.readJsonFile(`${filename}.json`) Файлы сохраняют во внутренний раздел приложения, который участвует в бекапах устройства
Anton
import fs from 'react-native-fs'; import ExceptionService from 'src/services/ExceptionService'; import { JSONParse } from 'src/utils/helpers'; class FsService { private prepareLibraryDirectoryPath = (...args: string[]) => { return [fs.LibraryDirectoryPath, ...args].join('/'); }; private createDirectoryInLibrary = (dirname: string) => { return fs.mkdir(dirname); }; readJsonFile = async <T>(filename: string): Promise<T | undefined> => { const filenameInLibrary = this.prepareLibraryDirectoryPath(filename); try { const isFileExists = await fs.exists(filenameInLibrary); if (!isFileExists) return; const fileContent = await fs.readFile(filenameInLibrary); const fileContentObject = JSONParse(fileContent); return fileContentObject.fileContent; } catch (error) { ExceptionService.captureException(error); return error; } }; writeJsonFile = async <T>(filename: string, fileContent: T) => { const directoryInLibrary = this.prepareLibraryDirectoryPath(); try { this.createDirectoryInLibrary(directoryInLibrary); const filenameInLibrary = this.prepareLibraryDirectoryPath(filename); const fileContentString = JSON.stringify({ fileContent }); return fs.writeFile(filenameInLibrary, fileContentString); } catch (error) { ExceptionService.captureException(error); return error; } }; } export default new FsService(); JSONParse можно заменить на JSON.parse Запись файла FsService.writeJsonFile(`${filename}.json`, { a: 'test' }) Чтение файла FsService.readJsonFile(`${filename}.json`) Файлы сохраняют во внутренний раздел приложения, который участвует в бекапах устройства
Спасибо 👍
Artem
Кто то шарит в sqllite
Artem
?
Akobir
Доброго времени суток всем. Я новенький в РеактНэтиве, буквально 4день и прям жестко туплю, мозг не воспринемает его. Сам я джавист привык к нему. люблю джаву после явы у меня какое-то отвращение от реакта😅😅, но наша контора решила попробовать РеактНэтив новая модная штука и всё такое "пиши один код для ведроида и яблока".. Мне нужен совет олдов по источникам. Так как офф сайт выглядит как справочик, что мне не совсем подходит. Ютубе туториалов тоже толком нет. Если не сложно может кто посоветует алгоритм изучения, подкинет источники или что-то в этом роде. Буду благодарен. Всем добра)
Michael
пацаны, а если я запускаю прложение через эмулятор андроида, то его (приложение) надо компилировать вручную постоянно?
Michael
я меняю app.js и приложение не пересобирается
Nick
java/kotlin
Nick
я меняю app.js и приложение не пересобирается
двойное нажатие R или ctrl+m и reaload
Michael
RedTeapot
@gblack9
dan
Ребята, доброго времени суток, кто знаком с effector ? Напишите в личку, пообщаться. Не ругайте за оффтоп, ищу наиболее подходящую реализацию стейт-менеджмента для проекта
Archer
Row too big to fit into CursorWindow requiredPos=0, totalRows=1 ребят что за ошибка
Archer
использую AsyncStorage
Archer
для хранения данных
Archer
есть тут опытные? где вы храните данные для автономной работы приложения?
Шахзод
@gblack9
Archer
Данные какого рода ?
ну к примеру массив объектов с координатами для карты
Archer
не столь важно
Archer
данные много могут занимать, а мне кажется AsyncStorage не то
Ilya
Есть realmDb
Ilya
Пользуемся ей для офлайн мода в приложении
Шахзод
данные много могут занимать, а мне кажется AsyncStorage не то
Мне еще подсказали в react-native-fs хранить в json , есть пример кода выше
Archer
сенкью
Archer
Alisher
Всем привет, есть вопрос по Animated. У меня три кнопки в таб навигаторе, в зависимости от индекса я делаю интерполяцию. При переключении с индекса 0 на 2, анимация проходит и через 1 и выглядит не органично. Какие альтернативы могут быть, чтобы добиться такого же эффекта как на видео без перехода через индекс 1? Отправляю видео и кусок кода.
Alisher
Alisher
Успішний Андрій
У меня есть несколько stackNavigator'ов, в экранах которых в navigationOptions есть headerLeft, который ссылкается на компонент, он возвращает TouchableOpacity при нажатии на который через context api будет меняться параметр siderOpened с false на true. Суть в том, что должно открываться боковое меню (гамбургер меню), в которое должен передаться объект navigation, но он не передается, в чём может быть проблема и как её решить? Код ниже: const ProfileStack = createStackNavigator({ Profile: { screen: Profile, navigationOptions: { headerBackImage: null, headerTitle: 'Profile', headerLeft: <MenuButton /> } }, 'Profile.Settings': { screen: Settings, navigationOptions: { headerBackImage: null, headerTitle: 'Настройки', headerLeft: <MenuButton />, } } }) (таких стэков n-е количевство, они идентичны этому) export const Navigation = createAppContainer( createBottomTabNavigator({ PasswordRecoveryStack: { screen: PasswordRecoveryStack, navigationOptions: { visible: false, }, }, RegistrationStack: { screen: RegistrationStack, navigationOptions: { visible: false, }, }, CourtRental: { screen: CourtRentalStack, navigationOptions: { tabBarIcon: renderIcon(bookingCourt, bookingCourtH), title: 'Аренда кортов', }, }, ProfileStack: { screen: ProfileStack, navigationOptions: { tabBarIcon: renderIcon(profile, profileH), title: 'Профиль', }, }, About: { screen: AboutStack, navigationOptions: { tabBarIcon: renderIcon(tournaments, tournamentsH), title: 'О клубе' } } }) ) (тут собираются все стэки) const MenuButton = ({ navigation }) => { const { siderOpened, setSiderOpened } = useContext(SiderOpenedContext) console.log(navigation) return ( <TouchableOpacity onPress={() => setSiderOpened(!siderOpened)}> <Image source={bMenu} resizeMethod="scale" style={{ width: 25, height: 25, marginLeft: 25 }} /> </TouchableOpacity> ) } (компонент MenuButton) Также есть компонент Sider который принимает в себя объект navigation, который всегда равен undefined, он отображается в зависимости от useContext(SiderOpenedContext)
Gena
есть тут опытные? где вы храните данные для автономной работы приложения?
Очевидно на "диске", что бы под этим не подразумевалось в данном девайсе )