0

this.props.promise.then 不是函数错误。为什么?

constructor(props) {
    super(props);
    this.state = {
        loading: true,
        error: null,
        data: []
    };
}

componentDidMount() {
    this.props.promise.then(
        value => this.setState({loading: false, data: value}),
        error => this.setState({loading: false, error: error}));
}

组件调用:

<Child promise={this.state.data} />

this.state.data 是一个数组

提前致谢!

4

1 回答 1

3

this.props.promise.then 不是函数错误。为什么?

因为无论您传递给名为 as 的组件是什么,它promise实际上都没有承诺。

并且由于您提到typeof this.props.promise返回一个object,您可以将您的代码可视化为基本上这样做:

someObjectNamedPromise.then( ... )

而且由于someObjectNamedPromise没有一个名为then指向函数的属性,因此您会收到一个错误,它会准确地告诉您这一点。

于 2017-11-18T22:59:57.410 回答