标签: react-native-android

在 React Native 中单击 TextInput 字段之外时会失去焦点并关闭键盘吗?

我已经研究过它并找到了这篇文章:

react-native:隐藏键盘

但这对我不起作用。当我触摸文本输入字段之外的屏幕部分时,我预计输入字段将失去焦点并且键盘将被关闭。但是,什么也没有发生。光标在输入端一直闪烁。

下面是我试过的代码。请注意,我使用的是 redux-form v6:

import dismissKeyboard from 'dismissKeyboard';

<TouchableWithoutFeedback onPress={()=> dismissKeyboard()}>
        <View style={styles.inputWrap}>
          <Field name="editLocation" component={TextField} />
          <Button onPress={handleSubmit(this.onSubmit)}>Sign In</Button>
        </View>
</TouchableWithoutFeedback>
Run Code Online (Sandbox Code Playgroud)

TextField 组件包含 TextInput。不确定我是否做错了什么。

我已经使用三星 S6 图像和三星 note 4 在 Genymotion 模拟器上测试了代码。

javascript android react-native react-native-android

6
推荐指数
1
解决办法
7530
查看次数

react-native run-android 和 react-native start

每次重新打开项目和模拟器时,我都必须在命令提示符下运行react-native run-android和react-native start吗?

- 谢谢

android-studio react-native react-native-android

6
推荐指数
1
解决办法
8099
查看次数

未定义不是对象(评估'imagePicker.openPicker')

我正在尝试使用 react-native-image-crop-picker。代码如下。我已经尝试过 npm install react-native-image-crop-picker@latest。

每当我选择任何一个未定义的选项时,都不会显示对象(正在评估“imagePicker.openPicker”)。请帮助解决这个问题。

import React, {Component} from 'react';
import {
View, Text, StyleSheet, ScrollView, Alert,
Image, TouchableOpacity, NativeModules, Dimensions
} from 'react-native';

var ImagePicker = NativeModules.ImageCropPicker;

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center'
  },
  button: {
    backgroundColor: 'blue',
    marginBottom: 10
  },
  text: {
    color: 'white',
    fontSize: 20,
    textAlign: 'center'
  }
});

export default class Upload extends Component {

  constructor() {
    super();
    this.state = {
      image: null,
      images: null
    };
  }

  pickSingleWithCamera(cropping) { …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-android

6
推荐指数
2
解决办法
6784
查看次数

AsyncStorage 是永久的还是临时的?

我是 React Native 的新手,我想在关闭我的应用程序后知道 AsyncStorage 是否清晰。AsyncStorage 是否有任何替代方案。

react-native asyncstorage react-native-android

6
推荐指数
2
解决办法
5271
查看次数

React Native 防止触摸冒泡到父元素

如果我想防止View组件上的 onPress 事件传播到Touchable以下Sample组件的父级,除了将子视图包装在一个中之外,最好的选择是Touchable什么?

export default function Sample (): Element<*> {
  return(
    <TouchableOpacity>
      <View>
        <Text>Sample</Text>
      </View>
    </TouchableOpacity>
  );
}
Run Code Online (Sandbox Code Playgroud)

react-native react-native-android react-native-ios touchableopacity touchablehighlight

6
推荐指数
1
解决办法
2195
查看次数

react-native android 应用程序在发布 apk 时崩溃

我编写了一个混合应用程序,它使用react-native-svg在 react-native 视图中渲染 svg 图像。一切正常。今天,当我为我的应用程序创建发布 apk 并将其部署到模拟器时,它因错误而崩溃:

E/AndroidRuntime: FATAL EXCEPTION: mqt_native_modules
Process: com.example.packagname, PID: 8574
java.lang.IllegalStateException: java.lang.NoSuchFieldException: mFill
  at com.horcrux.svg.q.a(Unknown Source:78)
at com.horcrux.svg.i$1.a(Unknown Source:9)
at com.horcrux.svg.aa.a(Unknown Source:22)
at com.horcrux.svg.i.b(Unknown Source:14)
at com.horcrux.svg.i.a(Unknown Source:10)
at com.horcrux.svg.t.a(Unknown Source:104)
at com.horcrux.svg.t.c(Unknown Source:25)
at com.horcrux.svg.t.a(Unknown Source:7)
at com.facebook.react.uimanager.u.a(Unknown Source:5)
at com.facebook.react.uimanager.ag.a(Unknown Source:56)
at com.facebook.react.uimanager.ag.a(Unknown Source:34)
at com.facebook.react.uimanager.ag.a(Unknown Source:34)
at com.facebook.react.uimanager.ag.a(Unknown Source:34)
at com.facebook.react.uimanager.ag.a(Unknown Source:34)
at com.facebook.react.uimanager.ag.a(Unknown Source:34)
at com.facebook.react.uimanager.ag.a(Unknown Source:34)
at com.facebook.react.uimanager.ag.a(Unknown Source:34)
at com.facebook.react.uimanager.ag.a(Unknown Source:34)
at com.facebook.react.uimanager.ag.a(Unknown Source:34)
at com.facebook.react.uimanager.ag.a(Unknown Source:34) …
Run Code Online (Sandbox Code Playgroud)

svg android react-native react-native-android

6
推荐指数
2
解决办法
2541
查看次数

onRegionChangeComplete 函数使用 React Native 地图多次调用

我想在地图中移动某个位置时更改我的初始区域,为此我使用了 onRegionChangeComplete 功能,但它一次调用两次或三次。

这是我的代码:

onRegionChangeComplete(region) {
    if(!this.state.initialRegionChange){
      console.log("changeRegion:"+JSON.stringify(region))
      var initialRegion = {
        latitude: region.latitude,
        longitude :region.longitude,
        latitudeDelta: LATITUDE_DELTA,
        longitudeDelta: LONGITUDE_DELTA
      }
      var lat = parseFloat(region.latitude)
      var lang = parseFloat(region.longitude)
    }else{
      this.setState({
        initialRegionChange:false
      })
    }
  }

render(){
  return(
    <MapView
          ref="map"
          style={styles.map}
          initialRegion={this.state.region}
          provider={MapView.PROVIDER_DEFAULT}
          zoomEnabled={true}
          onRegionChangeComplete={this.onRegionChangeComplete.bind(this)}
          pitchEnabled={true}
          showsCompass={true}
          showsBuildings={true}
          showsUserLocation={true}
          showsTraffic={true}
          showsIndoors={true}
          />
    )
}
Run Code Online (Sandbox Code Playgroud)

请给我建议如何解决这个问题。

非常感谢任何帮助。

这是我正在关注的模块链接。 https://github.com/react-community/react-native-maps

react-native react-native-android react-native-ios react-native-maps

6
推荐指数
2
解决办法
4532
查看次数

如何在 react native expo 中创建调试 apk

我尝试了网络上可用的所有信息来为 react-native-expo 创建调试 apk 文件,但它不起作用。如果有人知道任何解决方案,请帮助...

reactjs react-native react-native-android expo

6
推荐指数
1
解决办法
1729
查看次数

如何正确使用 React Native onLongPress?

我有一段简单的代码,它只是一个带有 onLongPress 道具的 TouchableOpacity,但它似乎不起作用。

<TouchableOpacity delayLongPress={10} onLongPress={()=>{console.log("pressed")}} activeOpacity={0.6}>
  <Text>BUTTON</Text>
</TouchableOpacity>
Run Code Online (Sandbox Code Playgroud)

我试过删除延迟道具,但这仍然不起作用。然而,将 onLongPress 更改为 onPress 似乎确实有效,但我想要长按功能。我正在 Android 模拟器上对此进行测试。

react-native react-native-android touchableopacity touchablehighlight touchablewithoutfeedback

6
推荐指数
1
解决办法
1万
查看次数

从 React Native 中的 api 拦截器(组件外部)重定向到屏幕

我正在开发一个使用 JWT 令牌对请求进行身份验证的 React Native 应用程序。为此,我创建了 axios 请求和响应拦截器,以将令牌添加到每个请求(请求拦截器),并在响应具有 401 HTTP 状态(响应拦截器)时将用户重定向到登录屏幕。

问题是我还没有找到在组件外部进行重定向的方法。下面的代码位于 API 服务中,每当我想要进行 API 调用时都会导入该服务。

我需要做什么才能重定向到我的登录屏幕,因为该服务是无状态的并且不关心它是从哪个组件调用的?

// Response interceptor
axiosInstance.interceptors.response.use(
  response => {
    // Do something with response data
    if (response.status === 401) {
      deviceStorage.removeData('token');
      // TODO:
      // Redirect to login page
    }
    return response;
  },
  error => {
    // Do something with response error
    return Promise.reject(error);
  }
);
Run Code Online (Sandbox Code Playgroud)

native reactjs react-native react-native-android

6
推荐指数
1
解决办法
2390
查看次数