未捕获的TypeError:无法读取null的属性_currentElement

时间:2017-07-17 21:08:31

标签: javascript reactjs dom react-native jsx

我有一个输入,我正在尝试格式化/屏蔽货币。我正在使用一个包来完成这个(CurrencyInput)。我一直在我的组件Uncaught TypeError: Cannot read property _currentElement of null上收到此错误,我不明白为什么。如果我使用React的TextInput它可以正常工作。我已经尝试过来自NPM的10个不同的软件包,我不断收到同样的错误。我怎样才能找出导致这种情况的原因?

我已经检查了类似问题的回复....我看到的答案似乎不适用于我的情况。我的组件在安装之前加载,没有未定义的道具(从我可以看到的)和我在一个稳定版本的React。

class Profile extends React.PureComponent {
  static propTypes = {
    navigation: PropTypes.object,
    handleLogout: PropTypes.func,
    handleaciNav: PropTypes.func,
    user: PropTypes.object
  };

  static navigationOptions = {
    headerVisible: true,
    title: 'Profile'
  };

  constructor(props) {
    super(props);

    this.onCreditCardChange = this
      .onCreditCardChange
      .bind(this);
    this.onCreditCardFocus = this
      .onCreditCardFocus
      .bind(this);

    this.state = {
      data: [],
      loading: true
    };
  }


  getInitialState(){
        return ({amount: "0.00"});
    }

 handleChange(event, maskedvalue, floatvalue){
        this.setState({amount: maskedvalue});
    }
  componentDidMount() {
    fetch("www.some.com", {method: 'get'})
      .then(response => response.json())
      .then(data => {
        this.setState({data: data});

      })
      .catch(function (err) {
        //
      })

  }


  callBoth = () => {

    console.log(this.state.data)
  }

  render() {

    if (this.state.data.length === 0) {
      return null

    }

    return (
      <ContentWrapper>

        <View style={styles.container}>
          <View style={styles.header}>
            {jsonData}
            <TouchableHighlight
              underlayColor='transparent'
              style={styles.btn}
              onPress={this.goToAcibtnTwo}>
              <Image source={images.prredbtn}></Image>
            </TouchableHighlight>
            <Text style={styles.textthingsmall}>{'Must be Paid Immediately'}</Text>

            {jsonData2}
            <TouchableHighlight
              underlayColor='transparent'
              style={styles.btn}
              onPress={this.goToAcibtnTwo}>
              <Image source={images.prgreenbtn}></Image>
            </TouchableHighlight>
            <Text style={styles.textthingsmall}>{'May include next payment or other fees'}</Text>

            {jsonData3}
            <TouchableHighlight
              underlayColor='transparent'
              style={styles.btn}
              onPress={this.goToAcibtnTwo}>
              <Image source={images.prgreenbtn}></Image>
            </TouchableHighlight>
            {jsonData4}
            <View>

            <CurrencyInput value={this.state.amount} onChangeEvent={this.handleChange}/>
            </View>

          </View>
          <View>
            <Image style={styles.btmicons} source={images.optionsroundbtn}/>
          </View>
        </View>
      </ContentWrapper>

    );
  }
}

export default Profile;

0 个答案:

没有答案