Нарушение инварианта: недопустимый тип элемента: ожидается строка или класс / функция, но получено: undefined - PullRequest
0 голосов
/ 20 февраля 2020

Приложение. js:

import React from 'react';
import Home from './screens/home';
import Navigator from './routes/drawer';
import Login from './screens/login';

export default class App extends React.Component{

    render() {
        if (false) {
            return (
                <Navigator />
            );
        } else {
            return (
                <Login />
            );
        }
    }
}

Логин. js:

import React, {View, Text} from 'react';

export default class Login extends React.Component {

    render() {
        return (
            <View style={{ padding: 20 }}>
                <Text>Some text</Text>
            </View>
        )
    }
}

Эта программа дает мне ошибка в названии, это работает для навигатора, но не для входа в систему (если для if установлено значение true вместо false, программа работает правильно.) навигатор работает как типичный контейнер для приложения android, но при В нижней части импорта все выглядит так же, как для параметров рендеринга. Полный журнал ошибок приведен ниже ...

Invariant Violation: Element type is invalid: expected a string (for built in components) or a class/function (for composite components) but got: undefined. 
You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named exports.

Check the render method of 'Login'.

This error is located at:
in Login...
in App...RCTView...AppContainer...

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

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

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

В модуле react нет экспорта с именем View или Text.

0 голосов
/ 20 февраля 2020

Проверьте ваш логин. js файл. Некоторые операции импорта неверны!

Проверьте компоненты и API внутри React Native здесь

РЕШЕНИЕ

Удалить импорт Просмотр и Текст из реакция

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

export default class Login extends React.Component {

    render() {
        return (
            <View style={{ padding: 20 }}>
                <Text>Some text</Text>
            </View>
        )
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...