gpt4 book ai didi

javascript - React native Undefined 不是对象(evaluating'_react3.default.PropType.shape')

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:36:33 25 4
gpt4 key购买 nike

由于这种情况,我正在研究 React-native 我想为 IOS 和 Android 创建导航,实际上,我遇到了一个错误

错误:React native Undefined is not an object(evaluating'_react3.default.PropType.shape')

我的开发环境

  • 操作系统:MACOS Sierra
  • 客户端:react-native-cli: 2.0.1
  • React-native 版本:react-native: 0.49.3

我关注官方react-native tutorial

App.js

import React, { Component } from 'react';
import {Platform, StyleSheet, Text, View} from 'react-native';
import Navigator from 'react-native-deprecated-custom-components';
import MyScene from './src/components/navigation/MyScene';



const instructions = Platform.select({
ios: 'IOS: Press Cmd+R to reload,\n' +
'Cmd+D or shake for dev menu',
android: 'Android : Double tap R on your keyboard to reload,\n' +
'Shake or press menu button for dev menu',
});
export default class App extends Component {
render() {
return (

<Navigator initialRoute={{ title: 'My Initial Scene', index: 0 }}
renderScene={(route, navigator) =>
<MyScene
title={route.title}

// Function to call when a new scene should be displayed
onForward={() => {

const nextIndex = route.index + 1;
navigator.push({
title: 'Scene ' + nextIndex,
index: nextIndex,
});
}}

// Function to call to go back to the previous scene
onBack={() => {
if (route.index > 0) {
navigator.pop();
}
}}
/>
}
/>
)
}
}

const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 50,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});

MyScene.js

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

export default class MyScene extends Component {
render() {
return (
<View>
<Text>Current Scene: {this.props.title}</Text>
<TouchableHighlight onPress={this.props.onForward}>
<Text>Tap me to load the next scene</Text>
</TouchableHighlight>

<TouchableHighlight onPress={this.props.onBack}>
<Text>Tap me to go back</Text>
</TouchableHighlight>
</View>
)
}
}

MyScene.propTypes = {
title: PropTypes.string.isRequired,
onForward: PropTypes.func.isRequired,
onBack: PropTypes.func.isRequired,
};

最佳答案

检查你的 react 版本,如果版本大于 16,则 propTypes 位于名为 prop-types

的新包中

参见:https://www.npmjs.com/package/prop-types

关于javascript - React native Undefined 不是对象(evaluating'_react3.default.PropType.shape'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46781664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com