2016-06-10 4 views
4

Я получил эту ошибку, когда я использую стороннюю библиотеку как https://github.com/ayoubdev/react-native-android-kit, что указывает эта ошибка?undefined не является объектом (оценка '_reactNative.PropTypes.string') Ошибка

'use strict'; 

import React, {Component} from 'react'; 
import{ 
Platform, 
StyleSheet, 
Text, 
View, 
Image, 
Navigator, 
ToolbarAndroid, 
ScrollView 
}from 'react-native'; 

import EventList from './javra-event-list'; 
    import AndroidToolBar from './javra-android-toolbar'; 
import JResource from '../../javra-resource'; 
import ScrollableTabView, {DefaultTabBar,ScrollableTabBar} from 'react-native-scrollable-tab-view'; 
    import CustomTab1 from './javra-custom-tabbar'; 


import {TabLayoutAndroid, TabAndroid} from "react-native-android-kit"; 

export default class Home extends Component{ 

    constructor(props){ 
    super(props); 
    this.eventThumnailHandler = this.eventThumnailHandler.bind(this); 
    this.movies = [{id:1,title:'Event 2016'},{id:2,title:'Event 2015'},{id:3,title:'Event 2014'},{id:4,title:'Event 2013'}, 
       {id:5,title:'Event 2016'},{id:6,title:'Event 2015'},{id:7,title:'Event 2014'},{id:8,title:'Event 2013'} 
       ]; 

} 

static childContextTypes = { 
    eventThumnailHandler: React.PropTypes.func.isRequired, 

}; 

getChildContext() { 
    return { 
    eventThumnailHandler: (item) => (this.eventThumnailHandler(item)), 

    }; 
    } 

static contextTypes = { 
    openDrawer: React.PropTypes.func.isRequired, 
    }; 

    _openDrawer(){ 
    this.context.openDrawer(); 
    } 


    eventThumnailHandler(item: Object){ 
    console.log('*/*/*/*///*/*/: ' + item.title); 
    this.props.navigator.push(
     {id: 'NewView' , index:1} 
    ) 
    } 

render(){ 
var toolbarActions = [{title:'Next',show:'always'}]; 
return(
    <View style={{flex:1}}> 

       <TabLayoutAndroid style={{height:60}} backgroundColor='#009688' indicatorTabColor='#ffc400' 
            indicatorTabHeight={2} scrollable={false} center={false}> 

        <TabAndroid text='Tab1' textSize={16} textColor="white" selectedTextColor='#ffc400' 
           icon='ic_home_black_24dp' iconPosition='left'> 

         <Text>I'm the first Tab content!</Text> 

        </TabAndroid> 

        <TabAndroid text='Tab2' textSize={16} textColor='white' selectedTextColor='#ffc400' 
           icon='ic_important_devices_black_24dp' iconPosition='left'> 

         <Text>I'm the second Tab content!</Text> 

        </TabAndroid> 

       </TabLayoutAndroid> 

      </View> 
); 
} 
} 

Я внедрил tablayout в соответствии с приведенной выше ссылкой. что может быть ошибкой в ​​файле file.please.

+0

это звучит как Реагировать не определено. Вам нужно будет опубликовать некоторые примеры кода, чтобы помочь выяснить, что случилось. –

+1

У вас недавно обновили свою реакцию? У меня была эта проблема, когда я ее обновил. Какую версию вы используете? – BigPun86

+0

@ BigPun86 да, я обновил реакцию. У меня версия 26.0. Как вы решили эту проблему? вы можете мне предложить? –

ответ

1

попробуйте запустить

npm outdated

и обновлять сторонние модули, которые не в текущей версии.

Мне пришлось сделать то же самое после обновления React Native и удалить и переустановить некоторые модули.

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

Включая PropTypes рядом с компонентом помог мне

+1

Чтобы уточнить это, новые версии React Native удалили «PropTypes» и «Компонент» из «реакции-родной» и теперь являются частью базового пакета React: ** До **: import React, {Component, PropTypes, View, Text} из 'react-native'; ** Теперь **: import React, {Component, PropTypes} из 'response'; import {View, Text} из 'react-native'; – dwilt

Смежные вопросы