react native 中的 async 关键字和 render() 是啥?它实际上是做啥的
Posted
技术标签:
【中文标题】react native 中的 async 关键字和 render() 是啥?它实际上是做啥的【英文标题】: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 特有的东西
【参考方案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' );
【讨论】:
以上是关于react native 中的 async 关键字和 render() 是啥?它实际上是做啥的的主要内容,如果未能解决你的问题,请参考以下文章
在 react-native 组件中实现 async/await 功能
处理 Async Await 以使用 Firebase 和 react native
在 React Native 中使用 async/await 处理 API 调用
react-native async 函数返回 promise 但不返回我的 json 数据?