Денис
Здравствуйет, у кого в проектах установлены карты(react-native-maps) все хорошо работает?
Просто возникла проблема, что если запускать проект через прилодение expo, то все рабоет, а если выпустить сборку и открыть карту в приложении, оно вылетает
Artem
Добрый вечер, какую библиотеку для билинга (покупок) посоветуете использовать? Какую сами используете?
Arthur
А зачем? Под 12-13 собирается же
Не запускается в том-то и дело. Выходит сообщение Class 'AppDelegate' does not conform to protocol 'RCTBridgeDelegate'. А в приложении черный экран. https://monosnap.com/direct/fduuV7fAJfG0yjb1jYxMoSkbxgHQIo
MirMohsun
Всем привет, ребята недавно начал на реакте писать приложения и есть куча вопросов в связи с исполнением redux:
1. Почему когда создаёшь несколько reducers в индексе когда я использую combinereducer и пишу как в документации у меня работает только один (первый второй даже не передаёт initial state).
2. Ситуация такая что у меня в store redux-a записываться определенные настройки (фоновая картинка приложения). Как я могу сохранить это состояние после того как человек полностью закроет приложение. Читал что в связке с redux-ом local storage не работает. Что делать?
ILΨλ
1 чтото делаешь не так проверь
2 https://github.com/rt2zz/redux-persist
MirMohsun
Dmitry
Нет конечно, открой документацию и посмотри
Dmitry
Релакс персист для сохранения твоего стора редаксовского, в твоём случае закинь просто в async storage своё состояние и не парься
Dmitry
Но если тебе нужно чтобы и данные которые хранятся в сторе тоже засетались то прикручивай персист
Vitalik
Привет
George
George
Nikita
Всем привет! Пытаюсь заНПМить библиотеку (винда), а мне ругается на неустановленный Visual Studio.
Я его установил, но шайтан машина все еще ругается на отсутствие VS... Кто нибудь сталкивался с такой чертовщиной?
Anton
Anton
Подскажите куда копать, чтобы реалтзовать двухстороннюю подгрузку данных в FlatList? (скроллим вверх - догружаются вверх, скроллим вниз - догружаются снизу)
Nikita
Напиши лог ошибки полностью
gyp ERR! find VS msvs_version was set from command line or npm config
gyp ERR! find VS - looking for Visual Studio version 2017
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS checking VS2019 (16.4.29613.14) found at:
gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"
gyp ERR! find VS - found "Visual Studio C++ core features"
gyp ERR! find VS - found VC++ toolset: v142
gyp ERR! find VS - found Windows SDK: 10.0.18362.0
gyp ERR! find VS - msvs_version does not match this version
gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - not found
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS
gyp ERR! find VS valid versions for msvs_version:
gyp ERR! find VS - "2019"
gyp ERR! find VS - "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"
gyp ERR! find VS
gyp ERR! find VS **********************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **********************************************************
gyp ERR! find VS
gyp ERR! configure error
gyp ERR! stack Error: Could not find any Visual Studio installation to use
Anton
Nikita
неа, пробую
Nikita
не помогло...(
Anton
Перезагрузи комп и попробуй еще раз
Nikita
но при установки библиотечки все так же ошибка
Nikita
ок
Nikita
Anton
👌
A
Коллеги, добрый день. Писал нативный модуль для rn, отлавливаю зомби ошибку:
[HCSChatViewController retain]: message sent to deallocated instance 0x118e70140
A
ошибку погуглил, относительно понятно в чем проблема, но в силу того, что не силён в obj c , как правильно пофиксать не знаю
A
@gblack9 , @savelichalex
Gena
Gena
И как вообще так получилось? Вы указатель на объект куда-то в C отправляете? Или забираете из ARC подсистемы через __bridge_transfer или __unsafe_unretained?
A
если правильно понял: то в js сам модуль импортируется вот так:
const { RNHelpCrunch } = NativeModules;
и тут дёргаются методы типа RNHelpCrunch.show()
а в самом модуле импортится sdk
#import <HelpCrunchSDK/HelpCrunch.h>
A
@interface RNHelpCrunch : NSObject <RCTBridgeModule>
A
код самого метода:
RCT_EXPORT_METHOD(show :(RCTPromiseResolveBlock)resolve :(RCTPromiseRejectBlock)reject) {
NSLog(@"show");
dispatch_async(dispatch_get_main_queue(), ^{
UIViewController *rootViewController = [UIApplication sharedApplication].delegate.window.rootViewController;
[HelpCrunch showFromController:rootViewController completion:^(NSError * _Nullable error) {
// If you need to do something on completion of SDK view controller presenting
resolve([NSNull null]);
}];
});
};
Arczi
Парни как называется такое меню в RN ??
Gena
Arthur
Как присвоить delegate к self, если выходит ошибка Assigning to 'id<FIRMessagingDelegate> _Nullable' from incompatible type 'AppDelegate *const __strong'
Emin
Всем привет
Emin
Ребята не подскажите,как поменять название приложение и так же название пакета?
Emin
Многие попытки, в том числе пакет rename не помогает
Emin
Приложение не запускается,либо вылетает после запуска
Gena
Dmitry
всем привет, есть вопрос.Как остановить вызов саги?Я когда тяну данные, оно вызывает снова и снова сагу для загрузки.Данные это промис который приходит через 3 секунды через промис.
Сага:
export default function* fetchData() {
try {
const data = yield getData();
yield put(loadDataActions.fetchData());
yield put(loadDataActions.loadDataSucceeded(data));
} catch (e) {
yield put(loadDataActions.loadDataFailed());
}
}
Viktar
Dmitry
Viktar
Чтобы с этим разобраться, нужно знать где и при каких условиях ты ее вызываешь
Dmitry
Чтобы с этим разобраться, нужно знать где и при каких условиях ты ее вызываешь
Сам помпонент:
class LogbookView extends Component {
componentDidMount() {
const { onLoad } = this.props;
onLoad();
}
render() {
const { navigation, data, isFetching } = this.props;
console.log('isFetching', isFetching);
return (
<Screen>
<SafeAreaView style={styles.container}>
{isFetching ? (
<ActivityIndicator size="large" color="#0000ff" />
) : (
<SectionList
sections={data}
keyExtractor={(item, index) => index}
renderItem={({ item }) => (
<LogBookTable
onPress={navigationActions.navigateToEnterTotal}
{...item}
/>
)}
stickySectionHeadersEnabled={false}
renderSectionHeader={({ section: { title } }) => (
<HeaderTable title={title} />
)}
/>
)}
</SafeAreaView>
</Screen>
);
}
}
function mapStateToProps(state) {
return {
data: state.default.data,
isFetching: state.default.isFetching,
};
}
function mapDispatchToProps(dispatch) {
return {
onLoad: () => dispatch(loadDataActions.fetchData()),
};
}
Arthur
Arthur
Я получаю побъект с сервера fcm. Он отображается в консоли. Все хорошо. Мне не понятно как показать все саму нотификацию. @gblack9
George
Сам помпонент:
class LogbookView extends Component {
componentDidMount() {
const { onLoad } = this.props;
onLoad();
}
render() {
const { navigation, data, isFetching } = this.props;
console.log('isFetching', isFetching);
return (
<Screen>
<SafeAreaView style={styles.container}>
{isFetching ? (
<ActivityIndicator size="large" color="#0000ff" />
) : (
<SectionList
sections={data}
keyExtractor={(item, index) => index}
renderItem={({ item }) => (
<LogBookTable
onPress={navigationActions.navigateToEnterTotal}
{...item}
/>
)}
stickySectionHeadersEnabled={false}
renderSectionHeader={({ section: { title } }) => (
<HeaderTable title={title} />
)}
/>
)}
</SafeAreaView>
</Screen>
);
}
}
function mapStateToProps(state) {
return {
data: state.default.data,
isFetching: state.default.isFetching,
};
}
function mapDispatchToProps(dispatch) {
return {
onLoad: () => dispatch(loadDataActions.fetchData()),
};
}
Тут сага вызывается по сообщению fetchData и сама вызывает этот же action, поэтому и зацикливается
Я обычно делаю action=fetchDataRequest, в нем выставляю fetching и на него вешаю сагу, в саге уже yield call вызов api, а put - либо success либо failure
Dmitry
edo
why react native sqlite sometimes blank or cant pulling data?
should restart apps
Денис
Может кто то знает бесплатный сервис где можно сгенерировать политику конфиденциальности для приложения + сайт где она будет храниться. Раньше использовал один сайт, но потерял его где-то
Nikita
Всем привет! Сейчас играюсь с expo-camera и обязан использовать телефон а не амулятор. Но с телефонным экспой какая-то странь. Он не обнавляет приложение. Т.е. всегда подтягивает только ту версию которая у него в Кэше. Помогает от этого пока только удалить и переустановить expo на телефоне. Кто нибудь с таким сталкивался? Как это лечить?
Kto?
Nikita
Есть здесь счастливчики кому доводилось работать с expo-camera или его аналогов?
У меня при вызове
const takePicture = async () => {
let data = await Сamera.takePictureAsync();
};
Ругается
undefined is not a function (near '..._expoCamera.Camera.takePictureAsync...')]
Можете задать направление мысли?
Alex
Импорт делаете Camera? Можно весь кусок кода?
Nikita
Импорт делаете Camera? Можно весь кусок кода?
import React, { useState, useEffect, useRef } from 'react';
import { View, TouchableOpacity, Text } from 'react-native';
import { Camera } from 'expo-camera';
import * as Permissions from 'expo-permissions';
import MainText from '../components/MainText';
const ScanScreen = () => {
let camera = useRef(null);
const [hasPermission, setHasPermission] = useState(null);
const [type, setType] = useState(Camera.Constants.Type.back);
useEffect(() => {
(async () => {
const { status } = await Permissions.askAsync(Permissions.CAMERA);
setHasPermission(status === 'granted');
})();
}, []);
const takePicture = async () => {
let data = await camera.takePictureAsync();
};
return (
<View style={{ flex: 1 }}>
<View
style={{
flex: 1,
justifyContent: 'flex-end',
}}
>
<TouchableOpacity onPress={takePicture}>
<Text>!!!!!!!!</Text>
</TouchableOpacity>
</View>
<Camera
style={{ flex: 1 }}
type={type}
ref={camera}
>
</Camera>
</View>
);
};
export default ScanScreen;
Anonymous
Всем привет
Anonymous
Подскажите пожалуйтса
Anonymous
Как отправить данные с второго экрана на первый ?
Anonymous
Я могу отправить данные с первого на второй
Anonymous
Но когда делаю по такому принципу у меня выходить ошибка undefined value
Gena
Как отправить данные с второго экрана на первый ?
Что такое экран? Без конкретизации абсолютно не понятно что вы делаете? В такой формулировке я могу посоветовать только одно – чтоб отправить данные из одного экрана в другой, надо либо воспользоваться API для пересылки данных между экранами, либо хранить эти данные в модели данных вашего приложения так, чтоб доступ к ним был из обоих экранов.
Anonymous
Gena
Anonymous
"react-navigation": "3.0.9"
Anonymous
https://snack.expo.io/S1wCkxkeL
Gena
Т.е. условно если на первом экране у меня список айтемов, я бы его держал в модели (в redux для большинства программистов, впрочем я когда есть возможность mobx использую).
Gena
Далее первый экран передает во второй id элемента, тот достаёт остальные данные по элементу из модели, показывает/позволяет редактировть его, измененяя модель, соответственно эти изменения отражаются и на первом экране
Gena
Это к примеру со списком айтемов, но и всё остальное так же делается...
Gena
Могут быть случаи, когда второй экран что-то очень простое, типа модалки с вопросом да/нет, тогда можно без "подъёма" данных в модель обойтись – первый экран передаёт во второй коллбэк, который тот вызывает с ответом, первый экран по этому коллбэку ререндерит себя (меняет стейт) и выполняет нужные действия
Anonymous
Спасибо нужно попробовать ваш метод, что-то новое
Anton
Anonymous
Ребята всем привет
Anonymous
Кто пользовалься react-native-calendars подскажите как изменить цвет выбранной даты ?
Anonymous
Вот так я выбираю даты, но при выборе цвет не меняется