React Native возвращает код ошибки ответа 500 - PullRequest
0 голосов
/ 31 октября 2019

Я только что установил узел js и отреагировал на native в windows 10. Когда я попытался импортировать новый экран (HomeScreen.js), я получил код ответа 500. Если я удаляю опцию импорта, он снова начинает работать.

Код App.js

import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import HomeScreen from 'HomeScreen';

export default function App() {
  return (
    <View style={styles.container}>
      <Text>Open up App.js to start working on your app</Text>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#fff',
    alignItems: 'center',
    justifyContent: 'center',
  },
});

Код HomeScreen.js

import React, { Component } from 'react'
import { Text, View } from 'react-native'

export default class HomeScreen extends Component {
    render() {
        return (
            <View>
                <Text> textInComponent </Text>
            </View>
        )
    }
}

файл package.json

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web",
    "eject": "expo eject"
  },
  "dependencies": {
    "expo": "^35.0.0",
    "react": "16.8.3",
    "react-dom": "16.8.3",
    "react-native": "https://github.com/expo/react-native/archive/sdk-35.0.0.tar.gz",
    "react-native-web": "^0.11.7",
    "react-navigation": "^4.0.10"
  },
  "devDependencies": {
    "babel-preset-expo": "^7.1.0"
  },
  "private": true
}

Ответы [ 3 ]

2 голосов
/ 31 октября 2019

В коде App.js попробуйте написать относительный путь HomeScreen.js.

Вы делаете:

import HomeScreen from 'HomeScreen';

Попробуйте сделать это:

import HomeScreen from './HomeScreen'; 

// The ./ is the relative path of file.
1 голос
/ 31 октября 2019

Ваше заявление на импорт неверно.

Если вы хотите импортировать свои собственные компоненты, вам нужно искать в папке, в которой вы их настроили.

Пример, если у вас есть app.js в корневом каталоге lvl, а Homescreen.js - этов папке «Экраны»:

import HomeScreen from './screens/HomeScreen';   // no need to say ".js"

, если вы хотите вызвать что-либо внутри папки «Экраны», например, другой компонент, находящийся в папке компонентов, вам придется выйти из папки и ввести новый с помощью «. ./ "(две точки и косая черта)

import OwnComponent from "../components/OwnComponent" 

Примечание: если в папке только один файл, который вы называете" index.js ", вы можете импортировать его следующим образом:

import Server from "../server"    instead of import Server from "../server/index" 

Удачи в изучении React Native.

0 голосов
/ 31 октября 2019

Я не уверен, но возможно это из-за забытого;в HomeScreen.js?

export default class HomeScreen extends Component {
    render() {
        return (
            <View>
                <Text> textInComponent </Text>
            </View>
        ) << here.
    }
}

Я заметил, что у вас это было по умолчанию в App.js

...