首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在React JS中可以使用async / await吗?

在React JS中可以使用async / await吗?
EN

Stack Overflow用户
提问于 2016-07-14 00:36:00
回答 3查看 42.2K关注 0票数 40

我开始在React Native中编程,并且习惯了使用以下语法:

代码语言:javascript
复制
async myFunction(){
    ...
    return await otherFunction();
}

但我不知道如何在共享包中使其与React JS和React Native兼容。我如何才能做到这一点,让它在两个平台上都能工作?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-07-14 00:47:24

React Native附带了Babel和一些Babel预设,而React on web只是React相关的代码。

如果你现在想在网络上使用async/await,你需要Babel和正确的转换:https://babeljs.io/docs/plugins/transform-async-to-generator/

或者stage-1预置,这在React应用程序中非常常见。http://babeljs.io/docs/plugins/preset-stage-1/

票数 20
EN

Stack Overflow用户

发布于 2017-03-05 06:01:36

如果您使用create-react-app进行构建,它从v0.2.3起就可用了

https://github.com/facebookincubator/create-react-app/releases/tag/v0.2.3

它可以在如下所示的组件中使用

代码语言:javascript
复制
class App extends Component {
  constructor(props) {
    super(props);
    this.state = { message: '' };
  }

  async componentDidMount() {
    this.setState({ message: 'loading...' });
    let d = await getData('/posts/1');
    this.setState({ message: d });
  }

  render() {
    let { message } = this.state;
    return (
      <div className="App">
        <p className="App-intro">
          { message }
        </p>
      </div>
    );
  }
}

请参见:

https://github.com/facebookincubator/create-react-app/issues/1024

票数 48
EN

Stack Overflow用户

发布于 2017-03-06 16:24:39

或者,您可以使用Typescript

从2.1版本开始,可以直接使用async/awaittranspile to ES5 (换句话说,让它在所有浏览器上运行)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38357234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档