2016-06-26 1 views
36

Oczekiwano, że klasa komponentów otrzymała błąd obiektu, gdy próbuję użyć utworzonego przeze mnie komponentu loginPage.reaguje natywnie - oczekiwano klasy komponentu, otrzymałem [obiekt Object]

tutaj jest index.ios.js

import React, {Component} from 'react'; 

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

import loginPage from './pages/loginPage' 

class app extends Component { 
    render() { 
     return (
      <View> 
       <loginPage/> 
      </View> 
     ); 
    } 
} 

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

i tutaj jest loginPage.js

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

export default class loginPage extends Component { 
    render() { 
     return (
      <View> 
       <Text> 
        Welcome to React Native! 
       </Text> 
      </View> 
     ); 
    } 
} 
+19

klas musi być wielką literą, zmień ją i lemingi znać aktualizację. – Gintoki

+0

dziękuję, zadziałało! –

Odpowiedz

93

Trzeba zmienić nazwę loginPage klasa LoginPage klasa musi być wykorzystać

+2

Niesamowita odpowiedź! –

+5

O mój Boże, zmagałem się z tym przez ponad godzinę .. –

+2

Awesome! Dzięki, ale dlaczego tak się dzieje? –

2

loginPage.js

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

const LoginPage =() => { 
    return (
     <View> 
       <Text> 
        Welcome to React Native! 
       </Text> 
      </View> 
    ); 
} 
export default LoginPage; 

index.ios.js

import React, {Component} from 'react'; 

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

import LoginPage from './pages/loginPage' 

class app extends Component { 
    render() { 
     return (
      <View> 
       <LoginPage/> 
      </View> 
     ); 
    } 
} 
0

usunąć tagi w index.ios.js

import React, {Component} from 'react'; 

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

import loginPage from './pages/loginPage' 

class app extends Component { 
    render() { 
     return (

       <loginPage/> 

     ); 
    } 
} 

AppRegistry.registerComponent('app',() => app); 
+0

Cóż, w jakiś sposób nie mogę tego edytować, ponieważ edycja ma mniej niż 6 znaków (dzięki SO), ale znaczniki ', które sprawdzasz, nie są renderowane. – ArchNoob