【发布时间】:2016-12-29 14:25:31
【问题描述】:
我正在尝试编写调用 web 服务并通过承诺异步返回一些数据的组件。一旦这个承诺得到解决,我想将结果包含在我的组件的渲染方法中。理想情况下,我想我希望将承诺的结果传递给另一个组件。 IE;承诺的结果是项目列表。
还有一件事——我正在使用 Typescript 编写这个 React 组件。
目前我有以下代码:
componentWillMount() {
let fooProps = listGetter.returnListData().then((response) => {
return response;
});
}
public render(): JSX.Element {
<div>
<Foo ElementProperties={this.fooProps} />
</div>
}
但是,此代码出错并显示“无法将空值分配给属性”。
我做错了什么?处理 Promise 并将其解析为 REACT 组件的最佳方法是什么?
谢谢!
【问题讨论】:
-
在 then 回调中检查返回的列表是否为空/null。另外,你的 fooProps 是块作用域的,所以你的渲染函数看不到它。
标签: javascript reactjs typescript promise