React Native:undefine的错误不是对象(评估' _react2.PropsTypes.string')

时间:2017-11-02 19:46:49

标签: react-native

我正在启动一个带有expo的本地反应项目并且在启动时运行良好。然后我在我的项目中安装了native-matreial-design并从react-native-material-design导入了Example Button,我得到以下错误。error

我的代码看起来像这样

 import React from 'react';
 import { View } from 'react-native';
 import { Button } from 'react-native-material-design';

 export default class App extends React.Component {
    render() {
      return (
         <View>
           <Button value="NORMAL FLAT" onPress={()=> console.log("I pressed a flat button")} />
           <Button value="NORMAL RAISED" raised={true} onPress={()=> console.log("I pressed a raised button")} />
          </View>
      );
   }
 }

2 个答案:

答案 0 :(得分:2)

问题是您的React Native版本和react-native-material-designPropTypes的使用在过去几个月内已发生变化a separate library。 React Native在很长一段时间内发出了警告,指出React.PropTypes将被弃用,看起来他们最终在version 0.47.2中做了。

因此,react-native-material-design仍在使用React.PropTypes。以下是Icon.js中的问题:

import React, {Component, PropTypes} from "react";

...

static propTypes = {
  name: PropTypes.string.isRequired,
  style: View.propTypes.style,
  size: PropTypes.number,
  color: PropTypes.string,
  allowFontScaling: PropTypes.bool
};

您需要降级RN,在叉子中为它们修复此问题并放入PR,或使用其他库。已经an issue

答案 1 :(得分:0)

我修好了。我的问题是Proptypes在反应原生材料设计中的定义。 所以我改变了:Node_modules-&gt;反应天然材料-设计 - &GT; LIB 并替换proptypes定义

import Proptypes from 'react';

import PropTypes from 'prop-types';

在lib文件夹里面的所有文件中 Button.js,Checkbox.js,IconToggle.js,Progress.js,RadioButton.js,RangeSlider.js,Ripple.js,Slider.js,Textfield.js以及所有其他文件。