React Native组件未安装

时间:2017-04-05 11:20:17

标签: javascript react-native react-native-android

我目前正在开发一个react-native应用程序,我们正在使用React“组件”(它不显示任何内容,只是充当调度程序)来完成JavaScript中的一些一次性请求。 JS代码非常简单:

import React from 'react'
import { AppRegistry, DeviceEventEmitter } from 'react-native'

class NativeEventDispatcher extends React.Component {
  constructor() {
    super()
    console.log("anyone home?")
  }
  componentDidMount() {
    DeviceEventEmitter.addListener('DoSomething', () => {})
  }
  render() {
    return null
  }
}

AppRegistry.registerComponent('NativeEventDispatcher', () => NativeEventDispatcher);

出于某种原因,在致电

之后
val rootView = ReactRootView(context)
rootView.startReactApplication(reactInstanceManager, "NativeEventDispatcher", null)
addContentView(rootView, ViewGroup.LayoutParams(0, 0))
reactInstanceManager.onHostResume(this, this)
没有任何反应。组件未安装,JS文件中没有断点执行,构造函数中的日志永远不会打印。几乎就像组件挂载无声地失败一样。

之前有没有遇到过这个?任何潜在的解决方一直试图调试这一天大约没有运气。

1 个答案:

答案 0 :(得分:0)

我不知道第二种东西,但我会先写一个这样的东西。

import React, { Component } from 'react';
import { View, AppRegistry, DeviceEventEmitter } from 'react-native';

class NativeEventDispatcher extends Component {
    constructor(props) {
        super(props)
        console.log("anyone home?")
    }
    componentDidMount() {
        DeviceEventEmitter.addListener('DoSomething', () => {})
    }
    render() {
        return (
            <View></View>
        );
    }
}

export default NativeEventDispatcher;

AppRegistry.registerComponent('NativeEventDispatcher', () => NativeEventDispatcher);

您应该使用导出默认值

导出您的班级