使用ES6语法在React native中声明其null

时间:2017-09-27 02:48:28

标签: reactjs react-native

任何人都可以解释为什么我会得到类似的东西:' null不是一个对象(评估this.state.sessionState)'即使我明确声明构造函数中的状态?

export default class App extends React.Component {
  constructor(props) {
  super(props);
  this.state = { sessionState: false };
}
render() {
  return (
    <ThemeProvider uiTheme={uiTheme}>
      <View style={mainStyle.head}>
        {this.state.sessionState?Feed:Welcome}
      </View>
    </ThemeProvider>
  );
 }
}

2 个答案:

答案 0 :(得分:0)

好吧,this按预期工作

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

export default class App extends Component {
  constructor(props) {
  super(props);
  this.state = { sessionState: true };
}
render() {
  return (

      <View >
        <Text> </Text>
        <Text> the message is </Text>
        <Text> {this.state.sessionState?'Feed':'Welcome'}</Text>
      </View>
  );
 }
}

答案 1 :(得分:0)

如果您将sessionState更改为true或false,则需要重新加载页面,然后才能获得结果..

如果你提供了对你的州的真实,那么肯定会根据你的陈述打印Feed,因为条件操作符执行第一个语句为true,第二个语句为false,所以如果你向你的状态提供false,然后重新加载你的页面你会得到'欢迎'