Вопросы с тегами [react-native]
15134 вопросы
1
голосов
1
ответ
787
Просмотры
В App покупки в React-Native Expo?
Я интересно, если есть способ реализации в приложении покупки в Expo для приложения, которое я разрабатываю. Как я исследовал в Интернете, я не нашел однозначного ответа. Может кто-нибудь помочь, пожалуйста?
1
голосов
1
ответ
116
Просмотры
Нить пробег ИОС - Ошибка: Не удается найти модуль - Реагировать Native
Итак, я устанавливаю вверх новый Реагировать Native проект, и я пытаюсь настроить XCode тренажера. Я открыл мой Реагировать Native проект в XCode и в терминале, когда я бегу «пряжи прогонов ИСН» из папки проекта, я получаю сообщение об ошибке «Ошибка: Не удается найти модуль @ столпотворение / выполнения / хелперы / interopRequireDefault 'в функции .Module._resolveFilename». My-MacBook-Pro-2: projectZero AlexS $ пряжи запустить ИОС пряжи запустить v1.13.0 $ реагируют чужеродный запуск КСНА внутренний / модули / CJS / loader.js: 583 броска эээ; ^ Ошибка: Не удается найти модуль @ Babel / выполнения / хелперы / interopRequireDefault 'в Function.Module._resolveFilename (внутренние / модули / CJS / loader.js: 581: 15) в Function.Module._load (внутренний / модули / CJS / loader.js: 507: 25) в Module.require (внутренние / модули / CJS / loader.js: 637: 17) при (требуется внутренний / модули / CJS / helpers.js: 22: 18) на объекте. (/Users/alexs/Desktop/React/Native/projectZero/node_modules/react-native/local-cli/cliEntry.js:11:41) при Module._compile (внутренние / модули / CJS / loader.js: 689: 30 ) при Module._compile (/Users/alexs/Desktop/React/Native/projectZero/node_modules/pirates/lib/index.js:83:24) при Module._extensions..js (внутренний / модули / CJS / loader.js : 700: 10) в качестве Object.newLoader [.js] (/Users/alexs/Desktop/React/Native/projectZero/node_modules/pirates/lib/index.js:88:7) при Module.Load (внутренние / модули /cjs/loader.js:599:32) ошибка Сбой команды с кодом выхода 1. есть ли кто-нибудь представление о том, как решить эту проблему?
0
голосов
0
ответ
14
Просмотры
React Native version Mismatch - Native version: 0.59.5
I am getting this error on Android simulator:
React Native version mismatch:
Javascript version: 0.58.5
Native version: 0.59.5
I have upgraded React Native, modules, Android studio and pretty much everything i could. Everything works fine on iOS, this happens only on Android. Build is succesful
Package.json
{
"name": "MyProject",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node node_modules/react-native/local-cli/cli.js start",
"test": "jest"
},
"dependencies": {
"@react-native-community/async-storage": "^1.3.3",
"latlon-geohash": "^1.1.0",
"react": "16.8.3",
"react-native": "0.59.5",
"react-native-firebase": "^5.2.3",
"react-native-gesture-handler": "^1.0.16",
"react-native-keyboard-aware-scroll-view": "^0.8.0",
"react-native-linear-gradient": "^2.5.3",
"react-native-maps": "^0.24.2",
"react-native-vector-icons": "^6.4.2",
"react-navigation": "^3.3.2",
"react-redux": "^6.0.1",
"redux": "^4.0.1"
},
"devDependencies": {
"babel-core": "^7.0.0-bridge.0",
"babel-jest": "24.1.0",
"jest": "24.1.0",
"metro-react-native-babel-preset": "0.52.0",
"react-test-renderer": "16.6.3"
},
"jest": {
"preset": "react-native"
}
}
Build.gradle
buildscript {
ext {
buildToolsVersion = "28.0.3"
minSdkVersion = 16
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"
googlePlayServicesVersion = "15.0.1"
androidMapsUtilsVersion = "0.5+"
}
repositories {
google()
//mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'com.google.gms:google-services:4.2.0'
}
}
allprojects {
repositories {
mavenLocal()
google()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
}
}
/*
task wrapper(type: Wrapper) {
gradleVersion = '4.7'
distributionUrl = distributionUrl.replace("bin", "all")
}*/
dependencies {
implementation project(':react-native-firebase')
implementation project(':react-native-gesture-handler')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
implementation project(':react-native-linear-gradient')
implementation project(':react-native-maps')
implementation "com.google.android.gms:play-services-base:16.0.1"
implementation project(':@react-native-community_async-storage')
implementation ("com.google.firebase:firebase-core:16.0.7") {
exclude group: 'com.google.android.gms'
}
implementation ("com.google.firebase:firebase-auth:16.1.0") {
exclude group: 'com.google.android.gms'
}
implementation ("com.google.firebase:firebase-database:16.0.6") {
exclude group: 'com.google.android.gms'
}
}
I have tried closing all terminals, yarn install, creating new android device. I am guessing it has to do with actual version of the React Native in Package.json, but it is the 0.59.5 and when i searched whole project i cant find any reference to 0.58.5 anywhere.
Thanks
Luke
0
голосов
0
ответ
4
Просмотры
как записать видео с помощью Imgepicker.launchcamereAsync?
С помощью этой команды я могу сфотографировать, но не в состоянии снимать видео. но я хочу, чтобы записать оба изображения и видео. Как только открывается камера кнопка видео становится инвалидом. Может ли кто-нибудь помочь мне как можно скорее .THANKS в результате сопзИте Advance = жду ImagePicker.launchCameraAsync ();
2
голосов
0
ответ
9
Просмотры
Реагировать Native Detox: Не могу принять разрешение местоположения от системы оповещения всплывающего
Запуск приложения из командной строки с помощью теста Detox --configuration ios.sim.debug Запуска приложения в коде через ждет device.launchApp ({разрешения: {места: «всегда», уведомления: «ДА»}}) Идите через проточный вход, пока приложение запрашивает местоположение с помощью реагирующего-носителей разрешений Permissions.request ( «место», {типа: «всегда»}) (с предварительной проверкой, чтобы увидеть, если проверка разрешения местоположения уже установлена to'always' (в этом случае приложение не спрашивает )) см системы оповещения всплывающее с просьбой подтвердить разрешение местоположение Detox не может видеть систему оповещения всплывал и, таким образом, не может нажать на кнопку, чтобы выбрать разрешение всегда на место должны быть в состоянии нажать на «всегда разрешать» кнопку в кнопке расположения системы разрешения. Но не могу. Смотрите мой код по адресу: github.com/wix/Detox/issues/1330.
1
голосов
2
ответ
4.2k
Просмотры
Реагировать-Native вызов функции внутри функции асинхронной .then
Я пытаюсь вызвать функцию после того, как пользователь сфотографировал. Я стараюсь сделать так, следующим образом: класс экспорта по умолчанию LA расширяет компонент {конструктор (реквизит) {супер (реквизит); this.doSomething = this.doSomething.bind (это); } TakePicture () {this.camera.capture () .then (функция (данные) {йоЗотеЬЫпд (data.path); // Это приводит к тому Ошибка выполнения}) .catch (ERR => console.error ( "ошибка:" + ERR)); } ЙоЗотеЬЫпд (imgPath) {console.log (imgPath); }} И я получаю следующее сообщение об ошибке при съемке: ошибка: Ссылка Ошибка: йоЗотеЬЫпд не определен, однако, если я заменю takePicture () с: takePicture () {this.camera.capture () .then (функция (данные) {console.log (data.path);}) .catch (ERR => console.error ( "ошибка:" + ERR));
1
голосов
1
ответ
1.9k
Просмотры
Реагировать Native Aspect приспосабливать изображение
https://snack.expo.io/rJCoC9S5- Как бы я сделать изображение шириной 25% от родителя, а высота к тому, что, что нужно, чтобы сохранить первоначальную ширину: соотношение сторон по высоте?
1
голосов
2
ответ
1.7k
Просмотры
Как центрировать одно изображение над другим в React Native
Я пытаюсь сделать компонент часов с изображением лиц и иглы центрированных на часах в React Native. не допускает вложения других изображений. Я нашел несколько постов для центрирования текста над изображениями, но не могу найти какой-нибудь способ сделать изображение центра над изображениями. Изменить: Я пытаюсь найти способ, который позволяет избежать дает абсолютную позицию таким образом, компонент может быть динамически размера.
1
голосов
1
ответ
298
Просмотры
как сбросить firebase аутентификации пароля реагировать родные
Я хочу знать, как сбросить пароль firebase пароля аутентификации электронной почты в моем реакции нативного проекта. Мне нравится отправить по электронной почте для сброса пароля. Как это сделать с помощью следующего метода firebase.auth (). SendPasswordResetEmail
1
голосов
3
ответ
49
Просмотры
называют местные источники при использовании в React
Я пытаюсь для отображения изображений с ScrollView. У меня есть код, который работает, когда я использую изображения в Интернете, но не тогда, когда они являются локальными. Можете ли вы сказать мне, как исправить мой код? Я знаю, что ошибка происходит из этого: источник = {{требуется (изображение)}}, но не знаете, как писать правильно константные изображения = [ «./images/localImage1.jpg»,»./images/localImage2.jpg '//'https://someURLlink2.jpg', //'https://someURLlink2.jpg»,] визуализации () {пусть imageArray = [] пусть barArray = [] images.forEach ((изображение, я) => {console.log (образ, я) = Const thisImage () imageArray.push (thisImage)
4
голосов
2
ответ
83
Просмотры
кнопку (FAB) на React Родной обыкновение оставаться на вершине, когда модальный, IOS, Actionsheet, компонент выбора оказывается плавающей
Используя абсолютную кнопку, расположенную в высшей компоненте порядка не будет служить целями в обычных случаях применения, но когда модальный / actionsheet / выбор и т.д. оказывается кнопка больше не остается на вершине.
0
голосов
1
ответ
7
Просмотры
Как использовать реагировать навигации за пределами экрана
Я хотел бы сделать мое приложение перейти на следующую страницу, если код введен правильно, но я был с много проблем, делая это. Я работаю в именах файлов AccessForm.js, который не является экраном, но является компонентом, который включен в окне кода доступа. Я попытался с помощью this.props.navigation.navigate ( «CreateAccountScreen») ;, но натолкнулся на ошибку «Undefined не является объектом (оценка„this.props.navigation“). С некоторыми проб и ошибок, я узнал, что я можно использовать только реагировать-навигацию внутри фактического экрана по какой-то странной причине. После этого, я сделал попытку использовать this.state и this.setState ({}), чтобы следить за переменный экран, и синхронизировать его с фактическим экран код доступа, так что я мог бы использовать навигацию. К сожалению, this.setState также бросает «Неопределенное не является объектом» ошибка. Я приклеил сокращенную версию моего кода ниже. Что было бы лучшим способом для достижения этой навигационный вне вопроса файла экрана? импорт React из 'реагируют'; импорт {StyleSheet, текст, вид, TextInput, AlertIOS} от 'реагируют родной'; вар firebase = требуется ( "firebase"); если (! firebase.apps.length) {// Не открывать более одной сессии firebase firebase.initializeApp ({// Инициализировать firebase соединения apiKey: "ключ", authDomain: "домен", DatabaseURL: "URL", storageBucket : "storage_bucket",}); } This.codesRef = firebase.database () REF ( 'коды'). // Ссылка на раздел кодов в БД // this.state = {// экран: 0 //}; экспорт класс по умолчанию LoginForm расширяет React.Component {конструктор (реквизит) {супер (реквизит); //этот. checkCode = this.checkCode.bind (это); // кидает ошибку} визуализации () {возвращение (checkCode (text.nativeEvent.text)} // Проверяет код введен autoCapitalize = 'ни' Автозамена = {ложь} />); }} Функция checkCode (текст) {код вар = текст; // Установить введен код вар «код» вар идентификатор = «»; // Используется для хранения уникального идентификатора кода объект codesRef.once ( 'значения', функции (db_snapshot) {пусть codeIsFound = ложная db_snapshot.forEach (функция (code_snapshot) {// Цикл по доступным кодам в дБ, если (код == code_snapshot. Val () значение) {// код для сравнения Db код codeIsFound = TRUE; идентификатор = code_snapshot.key; // код объекта ID}.}), если (codeIsFound) {deleteCode (идентификатор); // Удалить код, если используется, возможно, сделать это после создания учетной записи? this.props.navigation.navigate ( 'CreateAccountScreen'); //this.setState({screen: 1}); // это бросает ошибку // Переход к следующему SCREEN //this.props.navigation.navigate('AccountCreateScreen '); // кидает ошибки} Else {// неправильный код // примечание к себе: добавить сообщение об ошибке на основе состояния вар AlertIOS.alert ( «Мы К сожалению ...», «Введенный код не был найден в базе данных! Пожалуйста, свяжитесь с г-Gibson для получения дополнительной помощи. "); }}); . Функция} deleteCode (ID) {// удалить код из уникального ID firebase.database () ссылок ( 'коды /' + идентификатор) .remove (); } // таблица стилей ниже //this.setState({screen: 1}); // это бросает ошибку // Переход к следующему SCREEN //this.props.navigation.navigate('AccountCreateScreen '); // кидает ошибки} Else {// неправильный код // примечание к себе: добавить сообщение об ошибке на основе состояния вар AlertIOS.alert ( «Мы К сожалению ...», «Введенный код не был найден в базе данных! Пожалуйста, свяжитесь с г-Gibson для получения дополнительной помощи. "); }}); . Функция} deleteCode (ID) {// удалить код из уникального ID firebase.database () ссылок ( 'коды /' + идентификатор) .remove (); } // таблица стилей ниже //this.setState({screen: 1}); // это бросает ошибку // Переход к следующему SCREEN //this.props.navigation.navigate('AccountCreateScreen '); // кидает ошибки} Else {// неправильный код // примечание к себе: добавить сообщение об ошибке на основе состояния вар AlertIOS.alert ( «Мы К сожалению ...», «Введенный код не был найден в базе данных! Пожалуйста, свяжитесь с г-Gibson для получения дополнительной помощи. "); }}); . Функция} deleteCode (ID) {// удалить код из уникального ID firebase.database () ссылок ( 'коды /' + идентификатор) .remove (); } // таблица стилей ниже предупреждение ( «Мы К сожалению ...», «Введенный код не был найден в базе данных, пожалуйста, свяжитесь с г-Gibson для получения дополнительной помощи!».); }}); . Функция} deleteCode (ID) {// удалить код из уникального ID firebase.database () ссылок ( 'коды /' + идентификатор) .remove (); } // таблица стилей ниже предупреждение ( «Мы К сожалению ...», «Введенный код не был найден в базе данных, пожалуйста, свяжитесь с г-Gibson для получения дополнительной помощи!».); }}); . Функция} deleteCode (ID) {// удалить код из уникального ID firebase.database () ссылок ( 'коды /' + идентификатор) .remove (); } // таблица стилей ниже
1
голосов
1
ответ
280
Просмотры
DrawerLayoutAndroid в реакции родной
Пытаюсь «DrawerLayoutAndroid» в реакции с родной внутри ящика я добавил реагировать-навигации «stackNavigator», чтобы перемещаться между screen.What я пытаюсь сделать, но проблема в том, когда я провожу его открытия в ящике Как я открыть его в полном экране, как нормальная страница есть ли лучший способ достичь этого (Redux состояния?) Спасибо заранее
1
голосов
0
ответ
374
Просмотры
Реагировать Native экспа там были пробы загрузки этого опыта
Когда я бегу «ехр старт» из командной строки. мой родной реагировать приложение строит отлично на тренажере и на устройстве. я также бегала ехр начать --no-DEV, который я предполагал, должен был показать, что будет работать с режимом DEV флаг, когда я запустить ехр опубликовать. Когда я запускаю «ехр опубликовать» я получаю Был проблема при загрузке этого опыта. Попробуйте еще раз Ошибка: Модуль AppRegistry не зарегистрирован вызываемая модуль (вызов runApplication) Код ошибки: CLIENT_LOADING_ERROR Код состояния: 2 просто запутался, потому что, если я запустить команду с режимом Dev выключен он по-прежнему нагрузки и отлично работает на тренажере и на устройстве, пока я запустить ехр публиковать и запустить файл ипа на устройстве, то он ломается.
1
голосов
1
ответ
144
Просмотры
How can I switch firebase configuration using toggle in react native
I am using reactnative, redux and firebase.
Now i want to config two diff firebase env one is development and other one is production.
I implemented a toggle to switch the firebase diff account.
i put firebase config file in ./App.js
import React, { Component } from 'react';
import { Provider } from 'react-redux';
import firebase from 'firebase';
import store from './src/config/store';
import AppNavigation from './src/navigation';
class App extends Component {
componentWillMount() {
firebase.initializeApp({
apiKey: 'AIzaSyAandJABqieT3fXk2palvAgbYz5B8y9EsM',
authDomain: 'practiciaappsubu.firebaseapp.com',
databaseURL: 'https://practiciaappsubu.firebaseio.com',
projectId: 'practiciaappsubu',
storageBucket: 'practiciaappsubu.appspot.com',
messagingSenderId: '753143230840'
});
firebase.auth().onAuthStateChanged((user) => {
if (user) {
console.log('logged In');
} else {
console.log('not looged in');
}
});
}
render() {
return (
);
}
}
export default App;
The toggle is there is Home component. So, after change the toggle from Home componet, how can i get the toggle status in ./App.js file?
The Home.js (component)
import React, { Component } from 'react';
import {
Text,
View,
Image,
ScrollView,
Switch
} from 'react-native';
import { connect } from 'react-redux';
import { NavigationActions } from 'react-navigation';
import { Button, Section } from './helpers';
import { userType } from '../config/MasterData';
import { firebaseEnvAction } from '../actions/HomeAction';
class Home extends Component {
static navigationOptions = {
title: '.: Practicia :.'
};
onPressSignupAs(userInfo) {
// Navigate to sign up page with the user information
console.log(userInfo);
}
onPressLogin() {
// Navigate to login page
const navigateToLogin = NavigationActions.navigate({
routeName: 'login',
params: {}
});
this.props.navigation.dispatch(navigateToLogin);
}
firebaseEnv(val) {
this.props.firebaseEnvAction(val);
}
render() {
return (
Sign Up As...
{userType.teacher.showText}
{userType.parent.showText}
{userType.student.showText}
Already have an account?
Login
Firebase:
this.firebaseEnv(val)}
disabled={false}
activeText={'Prod'}
inActiveText={'Dev'}
circleSize={30}
barHeight={1}
circleBorderWidth={3}
backgroundActive={'green'}
backgroundInactive={'gray'}
circleActiveColor={'#30a566'}
circleInActiveColor={'#000000'}
/>
);
}
}
const styles = {
firebaseText: {
fontSize: 20
},
contentContainer: {
flex: 1
},
container: {
backgroundColor: '#FFFFFF',
borderRadius: 4,
borderWidth: 0.5,
borderColor: '#9DDAEE',
flex: 1,
padding: 10,
justifyContent: 'center',
},
userType: {
fontSize: 23,
fontWeight: 'bold',
backgroundColor: '#3BAFDA',
margin: 10,
padding: 10,
textAlign: 'center',
color: '#fff',
},
contentArea: {
marginLeft: 40,
marginRight: 40,
marginBottom: 20,
},
logoContainer: {
justifyContent: 'center',
alignItems: 'center',
marginTop: 10,
marginBottom: 40,
},
logo: {
width: 250,
height: 75,
},
signInAs: {
fontSize: 20,
textAlign: 'center',
marginBottom: 10,
},
LoginBox: {
marginTop: 20,
marginLeft: 40,
marginRight: 40,
},
LoginText: {
fontSize: 15,
textAlign: 'center',
marginBottom: 10,
},
buttonLogin: {
backgroundColor: '#C4C4C4',
},
buttonText: {
color: '#000000',
}
};
const mapStateToProps = (state) => {
return state;
};
const mapDispatchToProps = {
firebaseEnvAction
};
export default connect(mapStateToProps, mapDispatchToProps)(Home);
1
голосов
0
ответ
193
Просмотры
не определено не является объектом (оценка «u.requestPermissions»)
Я пытаюсь использовать ТСМ толчок уведомление в моей родной реагировать приложение. Я застрял в этой точке, где я импортировал ТСМ, но до сих пор он говорит, что «не определен не является объект (оценка„u.requestPermissions“)» Я импортировал LIB, а также связан с моим проектом. Совершено точно, как указано в этом файле README.md
1
голосов
0
ответ
174
Просмотры
Бесконечные прокрутки не работает в Listview Реагировать Native
я хочу пагинацию по моему реагируют родное приложение так, ниже мой код this.renderSiteView (ROWDATA, RowId)} onEndReached = {this.onEndReached} /> onEndReached () {если (! this.state.waiting) {this.state.offset = 10, this.APIGetSiteGPS (this.state.token); }} Когда я запускаю выше кода данные следующей страницы не приходят так идеи, как я могу решить эту проблему? все ваше предложение ощутимо я обновляю мой взгляд в этом методе _bindingRadioButtonData (данные) {this.setState ({dataSourceRadio: this.state.dataSourceRadio.cloneWithRows (данные),})} метода API вызова APIGetSiteGPS (маркер) {console.log ( TAG + "Апи клиент:" + APPCONSTANTS.BASE_URL + "сайт" + "" + маркер) выборки (APPCONSTANTS.BASE_URL + "сайт и смещение =" + this.state.offset, {метод: APPCONSTANTS.API_METHOD.GET, заголовки : { 'Accept': APPCONSTANTS.HEADERS.VALUE.ACCEPT, 'Content-Type': APPCONSTANTS.HEADERS.VALUE.CONTENT_TYPE, 'Авторизация': 'Bearer' + маркер,},}) .then (ответ => {Const StatusCode = response.status; константные данные = response.json (); // данные: смещение === 0 res.results: [... this.state.siteList, ... res.results], возвращение Promise.all ([StatusCode, данные]);}) .Затем ((РЭС, данные) => {this.responseReceive (Рез)}) .catch ((ошибка) => {this.stopLoadingIndicator () console.log ( 'ошибка. . ', ошибка);})} responseReceive (ответ) {this.stopLoadingIndicator () console.log (TAG + ответ ->' + JSON.stringify (ответ)); Темп вар = this.state.siteList; если (ответ [0] == APPCONSTANTS.API_RESPONSE_STATUS.SUCCESS) {для (пусть я = 0; г <отклик [1]. data.sites.length; я ++) {temp.push (ответ [1] .data.sites [I]); } This.setState ({siteList: Темп}) SetTimeout (() => {this._bindingRadioButtonData (this.state.siteList)}, 1000) this.setState ({isFirstDataLoad: истинно}); //this.onEndReached (); } Еще {Alert.alert (APPCONSTANTS.APP_NAME, ответ [1] .message)}}
1
голосов
1
ответ
252
Просмотры
Изменение стиля строки в FlatList с помощью SetNativeProps
this.bankImgView (пункт, индекс)} = {keyExtractor (пункт, индекс) => Индекс} = {горизонтальная} ложно numColumns = {4} /> bankImgView (пункт, индекс) {возвращение (this.selectBank (item.image, item.text, индекс)}>)} Выбор банка (bankImage, bankName, индекс) {this.refs [ "IMG" + индекс] .setNativeProps ({BackgroundColor: "красный"}); } Я хотел бы изменить цвет фона зрения с использованием setNativeProps, который находится в flatList, но он не изменился, то ошибка встречает «setNativeProps неопределенного» .so Просьба предоставить мне правильный путь для этого.
1
голосов
1
ответ
154
Просмотры
как я могу изменить отображаемое имя на просмотр в React Native?
У меня есть Реагировать Native проект. Сначала вид имеет стиль = {{Display: NULL}}, но я хочу, чтобы изменить это стиль = {{Дисплей: 'Нет'}}. Как я могу это сделать? скрывать
1
голосов
1
ответ
708
Просмотры
AWS Amplify React Native, GET request error 403 status code
Я активировал доступ к неавторизованным идентичностям, чтобы сделать некоторое быстрое тестирование, прежде чем интегрировать аутентификацию. Мой код конфигурации заключается в следующем, Amplify.configure ({Auth: {identityPoolId: 'мы-восток-1: пример', регион: 'мы-восток-1', userPoolId: 'мы-восток-1_example', userPoolWebClientId: ' мы-восток-1_example»}, {API: конечные точки: [{имя: "пример-имя", конечная точка:«https://example.execute-api.us-east-1.amazonaws.com/prod/example- дорожка" }, ] } }); и мой код запроса GET заключается в следующем, например, () {сопз apiName = «Пример имя»; Const путь = '/ пример-пути'; API.get (apiName, путь) .then (ответ => {console.log (ответ)}). Улов (ошибка => {консоли. журнал (ошибка)})} Я последовал за все на GitHub и мой шлюз API и функцию лямбды правильно работает, когда я запускаю «тест» и через почтальон. Но реагировать родное это дает мне код 403 состояния без подробного объяснения. Имеет ли это сделать с помощью доступа к неаутентифицированным идентичностям? Кроме того, я использовал «пример» в моем коде, чтобы скрыть свою личную информацию, я напечатал все правильно, так как я не получаю синтаксическую ошибку (идентификатор пула распознает доступа при каждом я бегу, но cloudWatch не показывает журнал шлюз доступа)
1
голосов
2
ответ
95
Просмотры
Как отфильтровать объекты из массива объектов по основам объектного идентификатора
Я использую реагировать родное, где я должен отфильтровать объекты из массива объектов по основам идентификатора, который предоставляет в другом массиве объекта. У меня есть объект массива, как: вар objArr = [{имя: 'а', ID: 1}, {имя: 'аb', ID: 2}, {имя: 'ABC', ID: 3}]; ключи вара = [{идентификатор_пользователь: 1}, {идентификатор_пользователь: 2}]; вар filterResult = objArr.filter ((е) => {this.keys.includes (е)!}); как удалить объекты из массива, где идентификатор равен идентификатору пользователя ключей?
1
голосов
1
ответ
317
Просмотры
Как загрузить изображения из React Native App непосредственно Cloudinary с помощью Attachinary в Rails API
Я пытаюсь отправить файл из мобильной библиотеки фотографий в API Rails, а затем загрузить его на Cloudinary с помощью Attachinary, и я получаю следующее сообщение об ошибке при этом так: Errno :: ENOENT - Нет такого файла или каталога @ rb_sysopen - файл: /// Пользователи / hugoh / Library / Developer / CoreSimulator / Devices / 7270BD44-FFEC-423b-8859-933B9A3FD396 / данные / Контейнеры / Data / Application / 9BD2CA62-FDE5-4142-BA25-9DB3713123D6 / Библиотека / кэши / ExponentExperienceData /%40anonymous%2Ftestapp-react-native-e2f12178-7fc9-4a5d-810c-c446c8edd435/ImagePicker/9297C84C-F7B5-49AF-93F3-5A080FCFF4C2.jpg: Я загрузив изображение в Cloudinary со следующим кодом в моем Rail Апи приложение: Cloudinary :: Uploader.upload (PARAMS [: изображение])
1
голосов
1
ответ
458
Просмотры
Реагировать Native местного времени изображения Загрузка
Я относительно новым для React Native, но это нравится до сих пор! Я в настоящее время использую FlatList, чтобы сделать какие-то данные. Каждая строка FlatList использует пару иконок (.png), которые сохраняются локально. Они довольно малы, меньше, чем 100х100, но когда я загрузить приложение, есть задержка в изображениях быть оказаны. Почему это? Это не будет происходить на родное приложение IOS, так как я его достижения в Reat Native. EDIT: Эта задержка появляется, когда использование EXPO на моем iPhone X, но не шов появляться при использовании EXPO на тренажере IOS. Спасибо!
1
голосов
0
ответ
202
Просмотры
Реагировать Native Maps Overlay
Кто-нибудь использовал свойство наложения с среагировать нативным-карты? Я пытаюсь создать линию, которая следует моему текущему местоположению, но я не могу заставить его работать. Вот мой код
1
голосов
1
ответ
37
Просмотры
Связь между IOS и React Native
Может кто-нибудь помочь мне с моста существующего приложения IOS с Blank реагируют родное приложение? Я не могу назвать класс UI от React родной на кнопку, триггеров.
1
голосов
0
ответ
128
Просмотры
Xcode 9 Ошибки После установки в Сфере реагирует родную для локального хранения
Xcode 9 ошибки после установки Realm в React-Native для локального хранения. не может EXEC «myPath / Source / node_modules / область / ЦСИ /../ скрипты / ccache-clang.sh» (Доступ запрещен), не удалось с выходом кода 71. Помогите мне решить эту ошибку. Спасибо
1
голосов
0
ответ
69
Просмотры
Экспорт Реагировать Native Просмотров как встраиваемый SDK
Я хочу, чтобы разработать Реагировать родное приложение (View) и встроить это в существующие приложения (родной, гибрид, ...) как своего рода SDK (давайте назовем его «реагировать-нативный-СДК»). Кроме того, что я хочу, чтобы скрыть подробности на реализацию этого «среагировать родной-СДК», что не позволяет делать это легкий путь. Мне также нужно достичь простой связи между хост-приложением и «среагировать родной-СДК» (передача параметров и вызова функции обратного вызова из в SDK). Оба Android и IOS актуальны для меня. Любые идеи по этому поводу?
1
голосов
1
ответ
358
Просмотры
Как обновить компонент в reactnative с использованием шаблона Redux?
Я использую Redux шаблон, у меня есть проблемы в государственном управлении. Условие: Когда я успешно представил данные формы из action.js с actonTypes.SUBMITSUCCESS. и я обновить представление в соответствии с состоянием отправки от проблемы reducer.The в том, что, когда я нажимаю назад от этого компонента, и снова перейти к UpdateDate компоненты статуса представить остается таким же и каждый раз, когда он показывает успех всякий раз, когда я перейти к этому компоненту.
1
голосов
0
ответ
94
Просмотры
DatePickerIOS не любит шутя высмеивал Date ()
Я настраиваю некоторые тесты JEST в моем реакции нативный проекта, так что я буду созданием снимков для моих компонентов. Один из них включает в себя DatePicker (в частности, только время), поэтому мне нужно издеваться последовательный Date () для моментальных снимков, чтобы соответствовать. Документы для DatePickerIOS указать в нем объект Date в дате реквизите, как я предоставил в моем расписании компоненты (новая дата ()). Я сделал несколько попыток решить этот: Const constantDate = новая дата ( 'Вт 9 января 2018 14:04:12 GMT-0330 (NST)') Date = класс расширяет Дату {конструктора () {супер (); вернуться constantDate}} & Const DATE_TO_USE = новый Дата ( 'Вт 9 января 2018 14:04:12 GMT-0330 (NST)'); Const _DATE = Дата; global.Date = jest.fn (() => DATE_TO_USE); global.Date.UTC = _Date.UTC; global.Date.parse = _Date.parse; global.Date.now = _Date.now; & в DatePickerIOS (созданный DatePicker) в DatePicker (созданный TimePicker) в TimePicker (созданный по графике) в View (созданный View) в View (созданный по графике) в View (созданный View) в View (созданный раздел) в Раздел (созданный по графике) в View (созданный View) в View (созданный по графике) в View (созданный View) в View (созданный AnimatedComponent) Без издеваться, время не совпадает в моментальном снимке (очевидно) , но я не получаю предупреждение для реквизита. Мне нужно создать экземпляр каждого Date) метод (объект или что-то делать? В чем причина этого предупреждения и это можно исправить? Мне нужно создать экземпляр каждого Date) метод (объект или что-то делать? В чем причина этого предупреждения и это можно исправить? Мне нужно создать экземпляр каждого Date) метод (объект или что-то делать? В чем причина этого предупреждения и это можно исправить?
1
голосов
0
ответ
304
Просмотры
Failed at the [email protected]0.1.0 eject script react-native-scripts eject
Я следую онлайн учебнику и сделал следующие шаги: НАЯ установку -g создать реагирующее-нативное приложение создает реагирующее-нативное приложение firstApp НОЕ запустить выталкивания, но шаг выталкивания дает мне ошибку. Я попытался с несколькими версиями узел / НМП, как 8.9.4 / 5.6.0 (это дает сообщение в самой первой стадии, говоря, что я должен использовать НПМ 4, потому что НПМ 5 не поддерживается), то я использовал 7.10.1 / 4,2 +0,0 и с этой версией я получаю следующее сообщение об ошибке: НАЯ ERR! Windows_NT 10.0.14393 НПМ ERR! ARGV "C: \\ Program Files \\ nodejs \\ node.exe" "C: \\ Program Files \\ nodejs \\ node_modules \\ НПМ \\ бен \\ NPM-cli.js" "запустить" "выталкивания" NPM ERR! узел v7.10.1 НПМ ERR! NPM v4.2.0 НПМ ERR! Код ELIFECYCLE НПМ ERR! ERRNO 1 НПМ ERR! [email protected] выталкивание: `реагировать неместные-скрипты eject` НОЙ ERR! Статус Выход 1 NPM ERR! NPM ERR! Ошибка в [email protected] 0 выталкивания сценарий 'реагируют чужеродные-скрипты вытолкнуть. NPM ERR! Убедитесь, что у вас есть последняя версия Node.js и НПМ установлены. NPM ERR! Если да, то это, скорее всего, проблема с пакетом firstApp, НПМ ERR! не с самого НПМ. NPM ERR! Скажите автор, что это терпит неудачу на вашей системе: НАЯ ERR! реагировать родной-скрипты вытолкнуть НУЮ ERR! Вы можете получить информацию о том, как открыть вопрос для этого проекта с: НОЙ ERR! НАЯ ошибка firstApp НОЙ ERR! Или, если это не доступно, вы можете получить информацию о них через: НУЮ ERR! НОГО владелец Ls firstApp НАЯ ERR! Существует вероятность дополнительный выход каротаж выше. NPM ERR! Пожалуйста, включите следующий файл с любым запросом поддержки: это, скорее всего, проблема с пакетом firstApp, НПМ ERR! не с самого НПМ. NPM ERR! Скажите автор, что это терпит неудачу на вашей системе: НАЯ ERR! реагировать родной-скрипты вытолкнуть НУЮ ERR! Вы можете получить информацию о том, как открыть вопрос для этого проекта с: НОЙ ERR! НАЯ ошибка firstApp НОЙ ERR! Или, если это не доступно, вы можете получить информацию о них через: НУЮ ERR! НОГО владелец Ls firstApp НАЯ ERR! Существует вероятность дополнительный выход каротаж выше. NPM ERR! Пожалуйста, включите следующий файл с любым запросом поддержки: это, скорее всего, проблема с пакетом firstApp, НПМ ERR! не с самого НПМ. NPM ERR! Скажите автор, что это терпит неудачу на вашей системе: НАЯ ERR! реагировать родной-скрипты вытолкнуть НУЮ ERR! Вы можете получить информацию о том, как открыть вопрос для этого проекта с: НОЙ ERR! НАЯ ошибка firstApp НОЙ ERR! Или, если это не доступно, вы можете получить информацию о них через: НУЮ ERR! НОГО владелец Ls firstApp НАЯ ERR! Существует вероятность дополнительный выход каротаж выше. NPM ERR! Пожалуйста, включите следующий файл с любым запросом поддержки: НОГО владелец Ls firstApp НАЯ ERR! Существует вероятность дополнительный выход каротаж выше. NPM ERR! Пожалуйста, включите следующий файл с любым запросом поддержки: НОГО владелец Ls firstApp НАЯ ERR! Существует вероятность дополнительный выход каротаж выше. NPM ERR! Пожалуйста, включите следующий файл с любым запросом поддержки:
1
голосов
0
ответ
22
Просмотры
Будет ли следующая TSconfig работа для реакции нативным проекта?
Я пытаюсь выяснить настройки для реакции родной и до сих пор follwing TSconfig, кажется, работает, я что-то отсутствует или использовать ненужные биты? Так как это было в основном скопированы из реакции. Может ли это быть оптимизировано для реакции родных больше? { "compilerOptions": { "целевые": "ES6", "модуль": "CommonJS", "Lib": [ "ES7"], "allowJs": истинные "checkJs": правда, "JSX": «реагируют -native " "removeComments": правда, "OUTDIR":" ./dist " "typeRoots": [ "node_modules / @ типа"," ./typings»], "noFallthroughCasesInSwitch": правда, "noImplicitReturns":
1
голосов
0
ответ
34
Просмотры
получение маркера от обновления маркера OAuth Google
})); отладчик; // обратный вызов (responseData); }) .Catch ((ошибка) => {отладчик; console.log (ошибка) // errorcallback (ошибка);}); })); отладчик; // обратный вызов (responseData); }) .Catch ((ошибка) => {отладчик; console.log (ошибка) // errorcallback (ошибка);});
1
голосов
2
ответ
437
Просмотры
Использование ждут с реагировать родной не работает
Я получение пароля асинхронен, и это работает отлично: статический асинхронной Логин () {пусть пароль = ждет User.getPassword (); Оповещение (пароль); // это работает, пароль отображается, но если я хочу использовать его внутри выборки его доза не работает статический асинхронной логин () {пусть пароль = ждут User.getPassword (); Оповещение (пароль); // это работает, пароль отображается возврат выборки (userInfoURL {метод: 'GET', заголовки: { 'Authorization': пароль 'Content-Type': 'применение / JSON'}}) пароль, полученный сервер пусто Я также попытался User.getPassword (), то ((пароль) => {возвращение выборки (userInfoURL, {метод:. 'GET', заголовки: { 'Authorization': пароль, 'Content-Type': 'приложение /' JSON
1
голосов
3
ответ
2.3k
Просмотры
Отладка Реагировать родное приложение на устройстве Android. Опция No 'Debug JS Дистанционно'
У меня есть Реагировать родное приложение работает на моем устройстве Android с отладкой USB, после запуска ADB -d реверс TCP: 8081 TCP: 8081 и реагировать на родной пробег-андроид в моем проекте. В инструментах разработчика Chrome, мое устройство находится в списке удаленных устройств. По мнению многих блогов и сами документы (https://facebook.github.io/react-native/docs/debugging.html), я должен быть в состоянии выбрать «Отладка JS Дистанционном» в Параметрах разработчика моего устройства, но у меня есть нет такой опции. Переход к HTTP: // локальный: 8081 / отладчик-интерфейс делает следующее сообщение: Реагировать Native JS код работает внутри этой вкладки Chrome. Нажмите ⌘⌥J, чтобы открыть Инструменты разработчика. Включить паузу в пойманные исключения для лучшего опыта отладки. Статус: Ожидание, нажмите ⌘R в тренажере для перезагрузки и подключения. Перевалка на моем устройстве ничего не делает. Я использую устройство OnePlus 3 на Android 7.1.1 (хотя эта проблема также возникает при запуске эмулятора Android Lollipop) Пожалуйста посоветуйте как отладить мой родной реагировать проект в хромированных инструментах. Спасибо
1
голосов
1
ответ
1k
Просмотры
Реагировать Native IOS: Повторяющиеся символы, то есть `дубликата символ _OBJC_METACLASS _ $ _ RCTWebSocketModule`
Так что у меня есть страшный, сколько когда-либо дублировать символы по неизвестным причинам. Пример дубликата символ _OBJC_METACLASS _ $ _ RCTWebSocketModule символ дубликата _OBJC_METACLASS _ $ _ RCTWebSocketModule в: /Users/michaelstokes/Library/Developer/Xcode/DerivedData/Clustr-fkpfvfogtttxepgdsdrkmamfpvax/Build/Intermediates.noindex/ArchiveIntermediates/clustr/BuildProductsPath/Release-iphoneos/libReact.a ( RCTWebSocketModule.o) /Users/michaelstokes/Library/Developer/Xcode/DerivedData/Clustr-fkpfvfogtttxepgdsdrkmamfpvax/Build/Intermediates.noindex/ArchiveIntermediates/clustr/BuildProductsPath/Release-iphoneos/libRCTWebSocket.a(RCTWebSocketModule.o) ЛД: 284 дублированные символы для архитектуры arm64 Я немного смущен, почему, хотя здесь» мой список библиотеки Моей Podfile в настоящее время, как это, как я исследую причину повторяющихся символов `` `# раскомментируйте следующую строку, чтобы определить глобальную платформу для вашего проекта # платформы: ИОС,«9,0»цели«clustr»сделать # # Flexbox Layout Manager Используется Реагировать Natve POD 'йоги',: путь => '../node_modules/react-native/ReactCommon/yoga/Yoga.podspec' # # # Реагировать Native стручок 'Реагируйте, путь:»../node_modules / реагирует неместный», subspecs: [# # комментарий любых ненужные subspecs, чтобы уменьшить размер пучка. 'Ядро', # 'DevSupport' # 'RCTActionSheet' # 'RCTAnimation' # 'RCTBlob' # 'RCTCameraRoll', ## 'RCTGeolocation', ## 'RCTImage', ## 'RCTNetwork' # «RCTPushNotification '##' RCTSettings', # 'RCTTest', ## 'RCTText', ## 'RCTVibration', ## 'RCTWebSocket', ## 'RCTLinkingIOS'] # OneSignal # стручок 'OneSignal', '~> 1.13.3' # MapBox стручок 'реагируют родной-MapBox-ГЛ': путь => '../node_modules/@mapbox/react-native-mapbox-gl' стручок 'Stripe', '~> 10.1.0' наследуют! : Search_paths конец # раскомментируйте следующую строку, чтобы определить глобальную платформу для вашего проекта # платформы: ИОС, «9,0» цель «clustr» сделать # # Flexbox Layout Manager Используется РЕАКТ Natve POD «йоги»,: путь =>».. /node_modules/react-native/ReactCommon/yoga/Yoga.podspec '# # # Реагировать Native стручок' Реагируйте, путь:' ../node_modules/react-native», subspecs: [# # Комментарий любые ненужные subspecs, чтобы уменьшить размер пучка. 'Ядро', # 'DevSupport' # 'RCTActionSheet' # 'RCTAnimation' # 'RCTBlob' # 'RCTCameraRoll', ## 'RCTGeolocation', ## 'RCTImage', ## 'RCTNetwork' # «RCTPushNotification '## 'RCTSettings', # 'RCTTest', ## 'RCTText', ## 'RCTVibration', ## 'RCTWebSocket', ## 'RCTLinkingIOS'] # OneSignal # стручок 'OneSignal',' ~> 1,13. 3' # MapBox стручок 'реагируют родной-MapBox-ГЛ': путь => '../node_modules/@mapbox/react-native-mapbox-gl' стручок 'Stripe', '~> 10.1.0' наследуют! : Search_paths конца `` `Спасибо очень много 'Ядро', # 'DevSupport' # 'RCTActionSheet' # 'RCTAnimation' # 'RCTBlob' # 'RCTCameraRoll', ## 'RCTGeolocation', ## 'RCTImage', ## 'RCTNetwork' # «RCTPushNotification '## 'RCTSettings', # 'RCTTest', ## 'RCTText', ## 'RCTVibration', ## 'RCTWebSocket', ## 'RCTLinkingIOS'] # OneSignal # стручок 'OneSignal',' ~> 1,13. 3' # MapBox стручок 'реагируют родной-MapBox-ГЛ': путь => '../node_modules/@mapbox/react-native-mapbox-gl' стручок 'Stripe', '~> 10.1.0' наследуют! : Search_paths конца `` `Спасибо очень много 'Ядро', # 'DevSupport' # 'RCTActionSheet' # 'RCTAnimation' # 'RCTBlob' # 'RCTCameraRoll', ## 'RCTGeolocation', ## 'RCTImage', ## 'RCTNetwork' # «RCTPushNotification '## 'RCTSettings', # 'RCTTest', ## 'RCTText', ## 'RCTVibration', ## 'RCTWebSocket', ## 'RCTLinkingIOS'] # OneSignal # стручок 'OneSignal',' ~> 1,13. 3' # MapBox стручок 'реагируют родной-MapBox-ГЛ': путь => '../node_modules/@mapbox/react-native-mapbox-gl' стручок 'Stripe', '~> 10.1.0' наследуют! : Search_paths конца `` `Спасибо очень много RCTAnimation '# 'RCTBlob' # 'RCTCameraRoll', ## 'RCTGeolocation', ## 'RCTImage', ## 'RCTNetwork' # 'RCTPushNotification', ## 'RCTSettings', # 'RCTTest', ##' RCTText», ## 'RCTVibration', ## 'RCTWebSocket', ## 'RCTLinkingIOS'] # OneSignal # стручок 'OneSignal', '~> 1.13.3' # MapBox стручок 'реагируют родной-MapBox-ГЛ',: путь => '../node_modules/@mapbox/react-native-mapbox-gl' стручок 'Stripe', '~> 10.1.0' наследуют! : Search_paths конца `` `Спасибо очень много RCTAnimation '# 'RCTBlob' # 'RCTCameraRoll', ## 'RCTGeolocation', ## 'RCTImage', ## 'RCTNetwork' # 'RCTPushNotification', ## 'RCTSettings', # 'RCTTest', ##' RCTText», ## 'RCTVibration', ## 'RCTWebSocket', ## 'RCTLinkingIOS'] # OneSignal # стручок 'OneSignal', '~> 1.13.3' # MapBox стручок 'реагируют родной-MapBox-ГЛ',: путь => '../node_modules/@mapbox/react-native-mapbox-gl' стручок 'Stripe', '~> 10.1.0' наследуют! : Search_paths конца `` `Спасибо очень много RCTSettings', # 'RCTTest', ## 'RCTText', ## 'RCTVibration', ## 'RCTWebSocket', ## 'RCTLinkingIOS'] # OneSignal # стручок 'OneSignal', '~> 1.13.3' # MapBox стручок 'реагируют родной-MapBox-ГЛ': путь => '../node_modules/@mapbox/react-native-mapbox-gl' стручок 'Stripe', '~> 10.1.0' наследуют! : Search_paths конца `` `Спасибо очень много RCTSettings', # 'RCTTest', ## 'RCTText', ## 'RCTVibration', ## 'RCTWebSocket', ## 'RCTLinkingIOS'] # OneSignal # стручок 'OneSignal', '~> 1.13.3' # MapBox стручок 'реагируют родной-MapBox-ГЛ': путь => '../node_modules/@mapbox/react-native-mapbox-gl' стручок 'Stripe', '~> 10.1.0' наследуют! : Search_paths конца `` `Спасибо очень много 1,0' наследуют! : Search_paths конца `` `Спасибо очень много 1,0' наследуют! : Search_paths конца `` `Спасибо очень много
1
голосов
0
ответ
123
Просмотры
Установить изображение на PDF в реакции родной
Я создаю подпись с библиотекой среагировать-нативный-сигнатурного захват, и я хочу, чтобы иметь возможность принять эту подпись и поместить его на PDF это возможно? В дополнение к этому я также должен быть в состоянии сохранить этот документ, каким образом я мог бы это сделать? Я думаю, что, принимая скриншот не является правильным, что нужно сделать
1
голосов
0
ответ
276
Просмотры
Ошибка реагировать родную: «реагировать родное неожиданное ключевое слово„сопзИте“вопрос»
Здравствуйте, дорогие, кто-нибудь знал, как решить эту проблему? версия узла: 7.9.0 НПМ: 5.3.0 "реагируют": "16.2.0", "реагируют родной": "0.52.0" https://i.stack.imgur.com/kjrDj.jpg
1
голосов
1
ответ
308
Просмотры
Detox - Нажмите кнопку, когда она становится доступной
У меня есть проблема выполняющей кран () на кнопке при тестировании с Detox. Войти Наш тест выглядит следующим образом: Const emailInput = элемент (by.id ( 'emailInput')); ждут emailInput.replaceText ('[email protected] '); Const passwordInput = элемент (by.id ( 'passwordInput')); ждут passwordInput.replaceText ( 'пароль'); ждут элемент (by.id ( 'logInButton')) нажмите (). Кнопка видна все время, но становится доступным ( «tappable») только после ввода текста в полях формы. Таким образом, приведенные выше код кранов кнопки, прежде чем он включен, что приводит к отсутствию реальных действий. То, что я хотел бы сделать, это ждать, пока кнопка не будет включена, а затем выполнить кран. Что Рекомендованный способ обработки этого типа сценария? Я не мог найти хорошие примеры в документации.
1
голосов
1
ответ
122
Просмотры
Nesting react native navigation
I am learning react native and trying to make an app that as a Tab Navigator as the main navigator and I am trying to use Stack Navigation to show single page view.
Here is my App.js
import TopMovies from './components/TopMovies';
import { StyleSheet, Text, View, Image, ViewPagerAndroid, TextInput, ScrollView, Button, Alert } from 'react-native';
import { TabNavigator } from 'react-navigation';
import Ionicons from 'react-native-vector-icons/Ionicons';
const MainScreenPage = () => (
)
const SearchPage = () => (
)
const RootTabs = TabNavigator({
MSPage: {
screen: MainScreenPage,
navigationOptions: {
tabBarLabel: 'Top Movies',
tabBarIcon: ({ tintColor, focused } )=>(
),
},
},
SPage: {
screen: SearchPage,
navigationOptions: {
tabBarLabel: 'Search',
tabBarIcon: ({ tintColor, focused } )=>(
),
},
},
});
So I have two Screens named MainScreenPage and SearchPage. Now inside the MainScreenPage I have a component called TopMovies where I fetch API and render the data in a loop.
Here is my TopMovies component.
import React from 'react';
import { StyleSheet, Text, View, Image, FlatList, Alert, Button } from 'react-native';
import { StackNavigator } from 'react-navigation';
class DetailsPage extends React.Component {
render() {
return(
details
)
}
}
export default class TopMovies extends React.Component {
constructor(props) {
super(props);
this.state = {
apiTopLoaded: false,
topPopularMovies: [],
}
this.conditionalTopPopular = this.conditionalTopPopular.bind(this);
}
componentDidMount() {
fetch('someurl')
.then((response)=>{
response.json()
.then((popularMovies) => {
this.setState({
apiTopLoaded: true,
topPopularMovies: popularMovies.results,
})
})
})
}
conditionalTopPopular() {
if(this.state.apiTopLoaded===true) {
return(
(
{item.original_title}
this.props.navigation.navigate("Details")} title="See Details"/>
)}
keyExtractor={item => item.id}
/>
)
}
}
render() {
return (
{this.conditionalTopPopular()}
);
}
}
const StackConst = StackNavigator ({
Details : {
screen: DetailsPage,
}
})
export default StackConst;
There is a button in the flatlist, when clicked, should open a new screen called "Details". But I get an error that says "undefined is not an object (evaluating '_this4.props.navigation.navigate') on the onPress Button line. I dont know what is causing this. Is it because my stack navigation is inside the tab navigation and I need to somehow link them? Also, another problem I am having is not being able to export the StackConst. I cannot export it because I am already exporting TopMovies component as default and when I try to do export default StackConst, it says I can only export one default per module. Please help.
1
голосов
0
ответ
232
Просмотры
How to connect a tab navigator to redux?
I am new to redux and I need to call for an action inside the onPress method as shown here
const HomeTabNavigation = TabNavigator(
{
Profile: { screen: Profile },
PhotoCard: { screen: PhotoCard },
Chat: { screen: Chat }
},
{
tabBarComponent: props => {
return (
{
if (props.navigation.state.index !== 0) {
props.navigation.navigate("Profile");
this.props.setCurrentDisplayingScreen("Profile");
}
}}
/>
{
if (props.navigation.state.index !== 1) {
props.navigation.navigate("PhotoCard");
this.props.setCurrentDisplayingScreen("PhotoCard");
}
}}
/>
{
if (props.navigation.state.index !== 2) {
props.navigation.navigate("Chat");
this.props.setCurrentDisplayingScreen("Chat");
}
}}
/>
);
}
}
);
// Connect redux to call actions and receive new states
export default connect(null, actions)(HomeTabNavigation);
As shown in the code I want to call an action when tapping on the tab bar icon to navigate to another tab.
If I do that I get the following error:
"invariant violation: this navigator has both navigation and container props, so it is unclear if it should own its own state"