2017-10-15 79 views
2

ERROR:陣營-原住民 - 未定義不是(「評估_react3.default.PropTypes.shape」)的對象

undefined is not an object (「evaluating _react3.default.PropTypes.shape」) 
... 
<unknown> 
App.js 15 
... 

參見: http://rationalappdev.com/react-native-list-app-complete-how-to-guide/

App.js:

import React, { Component } from 'react'; 

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

import NavigationExperimental from 'react-native-deprecated-custom-components'; 

const instructions = Platform.select({ 
    ios: 'Press Cmd+R to reload,\n' + 
    'Cmd+D or shake for dev menu', 
    android: 'Double tap R on your keyboard to reload,\n' + 
    'Shake or press menu button for dev menu', 
}); 

const RouteMapper = (route, navigationOperations, onComponentRef) => { 
    if (route.name === 'list') { 
    return (
     // TODO: Add List component 
     <Text>The list is going to be here</Text> 
    ); 
    } else if (route.name === 'movie') { 
    // TODO: Add Movie component for a movie detail screen 
    } 
}; 

export default class App extends Component<{}> { 
    render() { 
    return (
     <NavigationExperimental.Navigator 
     // Default to list route 
     initialRoute={{name: 'list'}} 
     // Use FloatFromBottom transition between screens 
     configureScene={(route, routeStack) => NavigationExperimental.Navigator.SceneConfigs.FloatFromBottom} 
     // Pass a route mapper functions 
     renderScene={RouteMapper} 
     /> 
    ); 
    } 
} 

package.json

{ 
    "version": "0.0.1", 
    "private": true, 
    "scripts": { 
    "start": "node node_modules/react-native/local-cli/cli.js start", 
    "test": "jest" 
    }, 
    "dependencies": { 
    "react": "16.0.0-beta.5", 
    "react-native": "0.49.3", 
    "react-native-deprecated-custom-components": "^0.1.1" 
    }, 
    "devDependencies": { 
    "babel-jest": "21.2.0", 
    "babel-preset-react-native": "4.0.0", 
    "jest": "21.2.1", 
    "react-test-renderer": "16.0.0-beta.5" 
    }, 
    "jest": { 
    "preset": "react-native" 
    } 
} 

有什麼想法?由於

UPDATE

後仍不能正常工作安裝prop-types

enter image description here

+1

嘗試'NPM安裝--save-dev的道具 - types' – Cherniv

+0

你應該重新發布該評論作爲答案,因爲這是他的問題的答案 – jsolis

回答

1

PropTypes已經搬出反應,進入它自己的組件: https://www.npmjs.com/package/prop-types

按照自述,他們建議添加道具類型依賴的package.json

npm install --save prop-types 

然後使用它:

import PropTypes from 'prop-types'; // ES6 
var PropTypes = require('prop-types'); // ES5 with npm 
相關問題