在render方法中访问此变量[REACT NATIVE]

时间:2018-05-30 13:49:15

标签: javascript reactjs react-native

我正在尝试渲染一个类变量。

import Api from '../services/Api';
class Boxify extends Component {
  constructor(props) {
    super(props);
  }
  async componentWillMount() {
    this.response = await Api.getUserCurrent();
    this.mail = this.response.data.email;
    alert(this.mail);
  }
  render() {
    return (
      <View>
        <Text>
          {this.mail}
        </Text>
      </View>
    )
  }
}
export default Boxify;

我无法弄清楚为什么componentWillMount中的警报会向我显示email_adress,而渲染器没有显示任何内容?

1 个答案:

答案 0 :(得分:2)

尝试使用状态而不是局部变量,因此组件将再次渲染

import Api from '../services/Api';
class Boxify extends Component {
  constructor(props) {
    super(props);
    this.state = {
     mail : ''
   }
  }
  async componentDidMount() {
    this.response = await Api.getUserCurrent();
    this.setState({
         mail : this.response.data.email;
     })
  }
  render() {
    return (
      <View>
        <Text>
          {this.state.mail}
        </Text>
      </View>
    )
  }
}
export default Boxify;