代码之家  ›  专栏  ›  技术社区  ›  Anita

模块appregistry不是已注册的可调用模块(调用runApplication)

  •  1
  • Anita  · 技术社区  · 8 年前

    我根本找不到让react导航工作的方法。我从互联网上复制了这些工作示例,但它们似乎不太管用。有人能告诉我我做错了什么吗。

    我正在使用 节点:8.9.4 反应:16.3.0-α。1. 反应本机:0.54.0 反应导航:^1.4.0

    //index.js
    import React, { Component } from 'react';
    import {
      AppRegistry,
      StyleSheet,
      Text,
      View
    } from 'react-native';
    import {
      TabNavigator,
      StackNavigator
    } from 'react-navigation';
    
    import Home from './first';
    import Homes from './second';
    
    export default class demoApp extends Component {
      render() {
        return (
          <SimpleNavigation/>
        );
      }
    }
    
    export const SimpleNavigation = StackNavigator({
      Home: { 
        screen: Home,
        header: { visible: false },
        navigationOptions: {
          title: 'Home',
          header: null
        },
      },
      Homes: { 
        screen: Homes,
        navigationOptions: {
          title: 'second'
        },
      },
    },{});
    

    这是第一个标签

    //first.js
    import React, { Component } from 'react';
    import {
      AppRegistry,
      StyleSheet,
      Text,
      View,
      Image,
      TextInput,
      Button,
      TouchableHighlight
    } from 'react-native';
    
    export default class Home extends Component {
        constructor(props){
            super(props);
            this.state = {zipCode: ''}
        }
        navigate = (zipCode) => {
            this.props.navigation.navigate('Search', zipCode);
        }
        render() {
            return (
                <View>
                    <View>
                        <Text>An application to do things</Text>
                        <TextInput 
    
                            placeholder='Enter a Zip Code' 
                            onChangeText={(zipCode) => this.setState({zipCode})}
                            >
                        </TextInput>
                    </View>
                    <View>
                        <TouchableHighlight onPress={() => this.navigate(this.state.zipCode)}>
                            <Text>
                                Search
                            </Text>
                        </TouchableHighlight>
                    </View>
                </View>
            );
        }
    }
    

    我似乎根本跑不动。我还尝试了其他许多教程。但没有一个奏效。我做错了什么?

    3 回复  |  直到 8 年前
        1
  •  12
  •   xke    7 年前

    我今天也一直犯这个错误,这很烦人。能够通过删除带有“Metro”捆绑包的终端窗口,然后重新编译应用程序来摆脱它。

    似乎不是代码,而是运行时环境(一次似乎只适用于一个应用程序示例)。你可以通过一个超级简单的应用程序来再次检查这一点。

        2
  •  2
  •   epre company    6 年前

    关闭Nodejs终端并再次运行

        3
  •  1
  •   Mohsen Fard    6 年前

    只需关闭所有节点进程,启动npm服务器并运行应用程序:

    步骤1:运行命令 killall -9 node

    步骤2:运行命令 npm start

    步骤3:运行命令 react-native run-ios react-native run-android