标签: react-native-android

得到JS异常:ReferenceError:找不到变量:process

从react-native 0.26升级到0.29(并运行react-native升级)后,我在android调试器中收到以下错误:

Got JS Exception: ReferenceError: Can't find variable: process
Run Code Online (Sandbox Code Playgroud)

并在Android模拟器中的此错误消息

java.lang.RunTimeException: ReferenceError: can't find variable process
 (http://10.0.2.2:8081/index.android.bundle (...)
Run Code Online (Sandbox Code Playgroud)

我没有更改任何我的应用程序javascript自升级,所有运行没有错误之前所以我假设问题不在javascript中,而是反应版本的更改已删除'进程'变量?

即使加载一个空的索引文件(一个什么都不做的反应组件)仍会导致相同的错误.

react-native react-native-android

5
推荐指数
1
解决办法
3854
查看次数

在react native apk指令中找不到gradle.properties文件

我正在按照已签名的apk的说明进行反应原生https://facebook.github.io/react-native/docs/signed-apk-android.html

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****
Run Code Online (Sandbox Code Playgroud)

但是,在设置gradle变量的步骤中,我无法~/.gradle/gradle.properties在mac上找到该文件.我看到一个~/.gradle文件夹,但我没有看到gradle.properties那里的文件,我应该创建一个?或者,我/android/gradle.properties在项目文件夹中看到一个文件 - 我应该更新那里的gradle变量吗?

另外,我应该MYAPP用我的应用程序名称替换关键字吗?如果是这样,我在哪里可以找到替换它的键 - 是基于某种设置?例如FOOAPP_RELEASE_STORE_FILE......

android react-native react-native-android

5
推荐指数
1
解决办法
1390
查看次数

ScrollView下面的可单击背景[React Native]

因此,我想创建一个类似于以下内容的布局。[参考图片]

因此背景上有一个全屏MapView(React Native Maps)Markers,需要单击它。

并且有一个Scrollview全屏高度超过,MapView其初始具有与其内容相关联的一些顶部利润。

但是如果我以这种方式安排视图的问题,则在初始状态下无法单击地图上的标记。

<View>
  <MapView>
    <Marker clickEventHere></Marker>
    <Marker clickEventHere></Marker>
  </MapView>
  <ScrollView fullscreen>
     <View marginTop></View>
  </ScrollView>
<View>
Run Code Online (Sandbox Code Playgroud)

我不确定是否真的有可能解决这个问题。

初始状态 初始状态

滚动后 滚动后

尝试过的解决方案

    yScrolled = event.nativeEvent.contentOffset.y;
    yValue = this.state.yValue - yScrolled;

    upwardScroll = yScrolled > 0;

    if(upwardScroll && (yValue > 0)){
        this.setState({
            yValue: yValue
        });
    }


    if(yScrolled === 0){
        yScrolled = -10;
    }
    if(!upwardScroll && (yValue <= scrollViewMarginTop)){
        yValue = this.state.yValue - yScrolled;
        console.debug("UPDATE DOWNWARD");
        this.setState({
            yValue: yValue
        });
    }
Run Code Online (Sandbox Code Playgroud)

react-native react-native-scrollview react-native-android react-native-maps

5
推荐指数
1
解决办法
757
查看次数

在应用程序被杀或在react-native-fcm中的后台显示以JSON格式显示的fcm通知消息

我正在使用react-native-fcm库为Android设备.当我的应用程序运行时,我正在收到正确的通知,但是当我的应用程序在后台或被杀时,我收到的JSON格式的通知数据类似于我在这里分享的图像.

在此输入图像描述

componentDidMount() {
        // iOS: show permission prompt for the first call. later just check permission in user settings
        // Android: check permission in user settings
        FCM.requestPermissions().then(()=>console.log('granted')).catch(()=>console.log('notification permission rejected'));
        /*FCM.getFCMToken().then(token => {
            console.log('Token',token)
            // store fcm token in your server
        });*/
        this.notificationListener = FCM.on(FCMEvent.Notification, async(notif) => {
            console.log('FCM notification', notif)
            this.sendRemote(notif)
        });

        // initial notification contains the notification that launchs the app. If user launchs app by clicking banner, the banner notification info will be here rather than through FCM.on …
Run Code Online (Sandbox Code Playgroud)

react-native react-native-android react-native-fcm

5
推荐指数
0
解决办法
751
查看次数

如何在反应导航TabNavigator中动态设置初始标签

我正在使用,react-navigation并且嵌套TabNavigator在StackNavigator。我有三个选项卡中TabNavigator,并需要设置initialRouteName为TabNavigator动态基于某种逻辑。

我曾尝试把TabNavigator一个内部React组件具有动态选择的初始标签,并在用于StackNavigator与通过道具通过screenProps的TabNavigator。但是这样一来,我无法导航到的任何路线StackNavigator。

有什么办法可以initialRouteName动态制作。

注意:我没有为此应用程序使用redux。

reactjs react-native react-native-android react-native-ios react-navigation

5
推荐指数
2
解决办法
1301
查看次数

React Native - 禁用"屏幕尺寸"设置

我目前正在开发React Native应用程序,我们的一些用户可能会有轻微的视力问题.我们希望阻止在Android中设置"显示大小",因为这会使我们的应用无法使用.

我们使用简单的行解决了字体大小的问题:

Text.defaultProps.allowFontScaling=false;
Run Code Online (Sandbox Code Playgroud)

显示尺寸设置是否有类似的解决方案?

提前致谢

android native reactjs react-native react-native-android

5
推荐指数
1
解决办法
300
查看次数

如何将react-reduced从0.56.0降级到0.55.4版本?

实际上我在我的应用程序中使用react-native-camera但它在这个版本中没有工作(react-native:0.56.0)并且它在这个版本中工作(react-native:0.55.4).

所以现在我想降低反应原生:0.56.0到反应原生:0.55.4.

我的系统配置:npm 6.1.0,react-native-cli:2.0.1,react-native:0.56.0,Mac OS,Xcode 9.3

谢谢

react-native react-native-camera react-native-android react-native-ios

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

5
推荐指数
0
解决办法
1087
查看次数

在TouchableOpacity上反应Native nextFocusRight Prop不起作用

我试图使用nextFocusRight停止从React Native中的最后一个元素传播焦点,但是焦点仍传播到下一个视图。根据此拉取请求,它应该可以工作,但仍然面临相同的问题

我的代码:App.js

export default class App extends Component {

  render() {
    const data = [];
    for (let i = 0; i < 10; i++)
      data.push(i);

    return (
      <View>
        <View>
          {[1, 2].map(() => (
            <ScrollView horizontal style={{ height: 210 }}>
              {data.map(i => <Item id={i} buttonRef={this.buttonRef} />)}
            </ScrollView>
          ))}

        </View>
      </View>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

Item.js

export default class Item extends Component {
    myRef = null;

    componentDidMount() {
        const { id } = this.props;
        if (id == 0) {
            this.myRef.setNativeProps({ …
Run Code Online (Sandbox Code Playgroud)

reactjs react-native react-native-android

5
推荐指数
1
解决办法
164
查看次数

收到仅数据的Firebase云消息后,将Android React Native App带到前台

我已成功将Firebase Cloud Messaging与react-native-firebase一起用于在Android设备之间发送和接收仅数据消息。

当设备收到消息时,如果该应用程序在后台或已被杀死,我想将该应用程序置于前台。我收到的通知console.log()在两种情况下都会显示,但是我在弄清楚如何最好地“唤醒”应用程序/将其置于前台时遇到了麻烦:

  firebase.messaging().onMessage((message) => {
    // Process your message as required
    console.log('You got a message!', message);
  });
}
Run Code Online (Sandbox Code Playgroud)

在两种情况下,上述代码均按预期执行。

有没有我可以查看的React Native软件包来帮助实现我想做的事情,还是应该考虑写一些代码Java?

提前致谢。

更新资料

我正在尝试实现这样的目标,但不确定是否可以将这样的代码直接添加到我的React Native应用程序中?

更新2

我发现了这个使用HeadlessJS的包react-native-invoke-app。

HeadlessJS要求您在以下代码中使用此代码index.js:

AppRegistry.registerHeadlessTask('SomeTaskName', () => require('SomeTaskName'));

但是Firebase Cloud Messaging已经需要您在同一位置提供这一行代码,我想它的作用与以上相同:

AppRegistry.registerHeadlessTask('RNFirebaseBackgroundMessage', () => backgroundMessaging);

在react-native-invoke-app文档之后,我然后将调用放置在firebase.messaging().onMessage((message))回调中调用我的应用程序,如下所示:

firebase.messaging().onMessage((message) => {
    // Process your message as required
    invokeApp();
    console.log('You got message!', message);
  });
}
Run Code Online (Sandbox Code Playgroud)

但是,这并没有使我的应用程序成为前台。 …

react-native react-native-android firebase-cloud-messaging react-native-firebase

5
推荐指数
1
解决办法
141
查看次数