我已经研究过它并找到了这篇文章:
但这对我不起作用。当我触摸文本输入字段之外的屏幕部分时,我预计输入字段将失去焦点并且键盘将被关闭。但是,什么也没有发生。光标在输入端一直闪烁。
下面是我试过的代码。请注意,我使用的是 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 模拟器上测试了代码。
每次重新打开项目和模拟器时,我都必须在命令提示符下运行react-native run-android和react-native start吗?
- 谢谢
我正在尝试使用 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 的新手,我想在关闭我的应用程序后知道 AsyncStorage 是否清晰。AsyncStorage 是否有任何替代方案。
如果我想防止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
我编写了一个混合应用程序,它使用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) 我想在地图中移动某个位置时更改我的初始区域,为此我使用了 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
我尝试了网络上可用的所有信息来为 react-native-expo 创建调试 apk 文件,但它不起作用。如果有人知道任何解决方案,请帮助...
我有一段简单的代码,它只是一个带有 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
我正在开发一个使用 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)