React-Native开发从入门到实战项目总结

React Native报错: undefined is not

2017-11-05  本文已影响191人  光强_上海

最近在RN开发交流群中发现很多同学们会问下面的报错是什么情况,感觉自己的代码语法各方面都没有写错啊,怎么运行项目就报错尼,一头雾水不知道什么情况。作者在前段时间开发时也是遇到这个问题,后面找到了问题的所在,在这就解决方案分享给大家。

error

示例代码:

/**
 * keyboardManagerDemo
 * 作者Git:https://github.com/guangqiang-liu
 * 技术交流群:620792950
 * 作者QQ:1126756952
 * Created by guangqiang on 2017/11/5.
 */

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

export default class App extends Component<{}> {

  render() {
    const {name} = this.props
    return (
      <View style={styles.container}>
        <Text style={{flex: 1, marginTop: 100}}>{name}</Text>
        <TextInput
          style={{height: 40, borderWidth: 1, borderColor: 'red', marginBottom: 20, width: 200}}
          underlineColorAndroid='transparent'
          placeholder={'我是TextInput组件'}/>
      </View>
    )
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF'
  }
})

App.propTypes = {
  name: PropTypes.string.isRequired
}

根据报错提示,错误锁定在这行代码上name: PropTypes.string.isRequired,然后Google出答案,发现是React的版本升级导致的。

错误总结

在React 15.5.0 之后的版本,我们就不要再已这种方式导出PropTypes了import React, { Component, PropTypes} from 'react'
更换为:import PropTypes from 'prop-types',安装prop-types库 npm install prop-types --save

当我们 执行 npm start 时,报如下的错误,这时我们需要注意

image

iOS在info.plist中配置ATS如下

image

福利时间

上一篇下一篇

猜你喜欢

热点阅读