Реагировать на нативный AppRegistry не является вызываемым модулем

1

У меня небольшая проблема, следуя учебному курсу в разделе "Изучение реакции родного О Рейли".

Я нахожусь в первом приложении (WeatherProject), и когда я выполнил команду initProject для инициативной реакции, странно index.ios.js и index.android.js не были автоматически созданы? Я предполагаю, что это нормально. Поэтому я создал их и наполнил их, как показано ниже:

var React = require('react-native'); var { AppRegistry } = React; var WeatherProject = require('./WeatherProject'); AppRegistry.registerComponent('WeatherProject',() => WeatherProject);

Затем у меня есть файл WeatherProject.js следующим образом:

import React, { Component } from "react";

import { StyleSheet, Text, View, TextInput } from "react-native";

class WeatherProject extends Component {
  constructor(props) {
    super(props);
    this.state = { zip: "" };
  }

  _handleTextChange = event => {
    this.setState({ zip: event.nativeEvent.text });
  };

  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          You input {this.state.zip}.
        </Text>
        <TextInput
          style={styles.input}
          onSubmitEditing={this._handleTextChange}
        />
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: "center",
    alignItems: "center",
    backgroundColor: "#F5FCFF"
  },
  welcome: { fontSize: 20, textAlign: "center", margin: 10 },
  input: {
    fontSize: 20,
    borderWidth: 2,
    padding: 2,
    height: 40,
    width: 100,
    textAlign: "center"
  }
});

export default WeatherProject;

и сделал файл index.js следующим образом:

import WeatherProject from "./WeatherProject";

export default WeatherProject;

Является ли книга, что я следую устаревшей или я делаю что-то глупое? Но когда я запускаю приложение на симуляторе iphone, я получаю сообщение об ошибке "AppRegistry не является вызываемым модулем (вызов runApplication)"

  • 0
    Это не повторяющийся вопрос! Я хотел бы, чтобы люди внимательно прочитали два вопроса, прежде чем пометить этот как дубликат другого !!
Теги:
react-native

1 ответ

0

Вы импортируете неправильный AppRegistry и реагируете.

Попробуйте импортировать их в свои index.ios.js и index.android.js следующим образом:

import React from 'react';
import { AppRegistry } from 'react-native';
import WeatherProject from './WeatherProject';

Это должно сработать.

Вы должны проверить официальную документацию, вот пример приложения AppRegistry.registerComponent https://facebook.github.io/react-native/docs/props.html#content

Ещё вопросы

Сообщество Overcoder
Наверх
Меню