【问题标题】:what is async keyword and render() in react native ?what does it actually doreact native 中的 async 关键字和 render() 是什么?它实际上是做什么的
【发布时间】:2019-08-21 09:02:09
【问题描述】:

什么是 react native 中的 async 关键字? 我是本地人的新手,所以任何人都可以帮助我解决这个问题:) 而且我实际上已经尝试查看堆栈溢出是否存在一些问题,但我没有任何问题!

   export default class CameraExample extends React.Component {
        state = {
        hasCameraPermission: null,
        type: Camera.Constants.Type.back,
  };

   async componentDidMount() {
        const { status } = await 
        Permissions.askAsync(Permissions.CAMERA);
        this.setState({ hasCameraPermission: status === 'granted' });
  }

【问题讨论】:

  • 这是一个更简单、更易读的语法,用于执行异步操作 ...而不是使用then catch ...它是一个javascript的东西...这不是 ReactNative 特有的东西

标签: javascript react-native render


【解决方案1】:

async/await 是与Promises 一起使用的Javascript 功能,它不是那么简单,请在async 之前阅读Promises

render() 是 React 中最重要的功能,因为它告诉您的目标(Web 或本机)在屏幕上显示什么。使用 Class 组件时,您需要 return 您对 render() 方法的看法。但是,使用函数式组件时,组件本身是一个“render()”方法,会显示从他那里返回的内容。

【讨论】:

    【解决方案2】:
       const { status } = await Permissions.askAsync(Permissions.CAMERA);
       this.setState({ hasCameraPermission: status === 'granted' });
    

    是 ES7 语法等价于

    Permissions.askAsync(Permissions.CAMERA)
       .then(({ status }) => this.setState({ hasCameraPermission: status === 'granted' });
    

    【讨论】:

      猜你喜欢
      • 2011-09-04
      • 1970-01-01
      • 1970-01-01
      • 2012-01-08
      • 2019-10-27
      • 2013-12-23
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      相关资源
      最近更新 更多