React native Undefined 不是对象(评估'_react3.default.PropType.shape')?
Posted
技术标签:
【中文标题】React native Undefined 不是对象(评估\'_react3.default.PropType.shape\')?【英文标题】:React native Undefined is not an object(evaluating'_react3.default.PropType.shape')?React native Undefined 不是对象(评估'_react3.default.PropType.shape')? 【发布时间】:2017-12-15 08:02:51 【问题描述】:我正在使用 react-native build android 项目,并使用“Navigator”。当我查看版本时 > 应该使用 react@44.0:
import Navigator from 'react-native-deprecated-custom-components';
App.js
import React, Component from 'react';
import
Platform,
StyleSheet,
Image,
Text,
View
from 'react-native';
import TabNavigator from 'react-native-tab-navigator';
import
Navigator
from 'react-native-deprecated-custom-components';
import PropTypes from 'prop-types';
import Boy from './boy';
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',
);
export default class App extends Component
constructor(props)
super(props)
this.state =
selectedTab: 'tab_polular'
render()
return (
<View style=styles.container>
<Navigator
initialRoute =
component: Boy
renderScene=(route, navigator) =>
let Component = route.component;
return <Component navigator=navigator ...route.params/>
/>
</View>
);
const styles = StyleSheet.create(
container:
flex: 1,
backgroundColor: '#F5FCFF',
,
得到这个错误:
我看到这个问题与我类似enter link description here
将此代码添加到app.js
:
import PropTypes from 'prop-types
但是这里也有错误!
如何解决错误!
【问题讨论】:
【参考方案1】:你可以找到一些关于这个问题的信息here,但我会尽力为你收集信息
但基本上,如果你的 react 版本 > 16,你必须运行 npm i --save prop-types
然后在你的代码中包含 import PropTypes from 'prop-types'
如果你的 react import React, Component, PropTypes from 'react'; 那样从 React 导入 PropTypes
您可以通过转到项目目录,打开您的 package.json
文件来检查您的 React 版本,它应该在那里。应该看起来像这样:
"react": "16.0.0-alpha.6",
【讨论】:
我的反应版本=== '16.0.0',所以我应该使用import react, Component, PropTypes from 'react
?
不,你应该使用第一个选项。你安装prop-types
了吗?
是的,看这里package.json
package【参考方案2】:
npm install react-native-deprecated-custom-components --save
将Navigator.js文件更改为最新版本(来自facebook)
【讨论】:
【参考方案3】:好的,我找到错误原因了:
因为 react 版本太高了。
我的项目反应版本==='16.0.0'
react: 16.0.0
如果解决了错误,react 版本必须是:
"react": "^16.0.0-alpha.12"
然后:
react-native run ios
【讨论】:
以上是关于React native Undefined 不是对象(评估'_react3.default.PropType.shape')?的主要内容,如果未能解决你的问题,请参考以下文章
undefined 不是一个函数('....data.map....' 附近)|React native
React native Undefined 不是对象(评估'_react3.default.PropType.shape')?
React native - undefined 不是一个对象('评估 this.props.navigation')
React Native Undefined 不是对象 - 地理位置