Size: a a a

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

2020 January 04

NP

Nikita Polevoy in React Native — русскоговорящее сообщество
Всем привет! Сейчас играюсь с expo-camera и обязан использовать телефон а не амулятор. Но с телефонным экспой какая-то странь. Он не обнавляет приложение. Т.е. всегда подтягивает только ту версию которая у него в Кэше. Помогает от этого пока только удалить и переустановить expo на телефоне. Кто нибудь с таким сталкивался? Как это лечить?
источник

D

Debian-10-buster-64 in React Native — русскоговорящее сообщество
Denis Dedov
Может кто то знает бесплатный сервис где можно сгенерировать политику конфиденциальности для приложения + сайт где она будет храниться. Раньше использовал один сайт, но потерял его где-то
источник
2020 January 05

NP

Nikita Polevoy in React Native — русскоговорящее сообщество
Есть здесь счастливчики кому доводилось работать с expo-camera или его аналогов?
У меня при вызове
const takePicture = async () => {
   let data = await Сamera.takePictureAsync();
 };

Ругается
undefined is not a function (near '..._expoCamera.Camera.takePictureAsync...')]

Можете задать направление мысли?
источник

AK

Alex Korytskyi in React Native — русскоговорящее сообщество
Импорт делаете Camera? Можно весь кусок кода?
источник

NP

Nikita Polevoy in React Native — русскоговорящее сообщество
Alex Korytskyi
Импорт делаете 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;
источник

J

Jasur NSI in React Native — русскоговорящее сообщество
Всем привет
источник

J

Jasur NSI in React Native — русскоговорящее сообщество
Подскажите пожалуйтса
источник

J

Jasur NSI in React Native — русскоговорящее сообщество
Как отправить данные с второго экрана на первый ?
источник

J

Jasur NSI in React Native — русскоговорящее сообщество
Я могу отправить данные с первого на второй
источник

J

Jasur NSI in React Native — русскоговорящее сообщество
Но когда делаю по такому принципу у меня выходить ошибка  undefined value
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Jasur NSI
Как отправить данные с второго экрана на первый ?
Что такое экран? Без конкретизации абсолютно не понятно что вы делаете? В такой формулировке я могу посоветовать только одно – чтоб отправить данные из одного экрана в другой, надо либо воспользоваться API для пересылки данных между экранами, либо хранить эти данные в модели данных вашего приложения так, чтоб доступ к ним был из обоих экранов.
источник

J

Jasur NSI in React Native — русскоговорящее сообщество
Gena Black
Что такое экран? Без конкретизации абсолютно не понятно что вы делаете? В такой формулировке я могу посоветовать только одно – чтоб отправить данные из одного экрана в другой, надо либо воспользоваться API для пересылки данных между экранами, либо хранить эти данные в модели данных вашего приложения так, чтоб доступ к ним был из обоих экранов.
const App = createStackNavigator({
   FirstPage: { screen: FirstPage },
   SecondPage: { screen: SecondPage },
 },
 {
   initialRouteName: 'FirstPage',
 }
);

screen - я перевёл как 'экран'
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Jasur NSI
const App = createStackNavigator({
   FirstPage: { screen: FirstPage },
   SecondPage: { screen: SecondPage },
 },
 {
   initialRouteName: 'FirstPage',
 }
);

screen - я перевёл как 'экран'
Это react-navigation v4?
источник

J

Jasur NSI in React Native — русскоговорящее сообщество
"react-navigation": "3.0.9"
источник

J

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

GB

Gena Black in React Native — русскоговорящее сообщество
Jasur NSI
"react-navigation": "3.0.9"
Тогда по API самого navigation врядли помогу, но независимо от этого, я бы "поднимал" данные в модель
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Т.е. условно если на первом экране у меня список айтемов, я бы его держал в модели (в redux для большинства программистов, впрочем я когда есть возможность mobx использую).
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Далее первый экран передает во второй id элемента, тот достаёт остальные данные по элементу из модели, показывает/позволяет редактировть его, измененяя модель, соответственно эти изменения отражаются и на первом экране
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Это к примеру со списком айтемов, но и всё остальное так же делается...
источник

GB

Gena Black in React Native — русскоговорящее сообщество
Могут быть случаи, когда второй экран что-то очень простое, типа модалки с вопросом да/нет, тогда можно без "подъёма" данных в модель обойтись – первый экран передаёт во второй коллбэк, который тот вызывает с ответом, первый экран по этому коллбэку ререндерит себя (меняет стейт) и выполняет нужные действия
источник