Reactjs 为什么不是一个函数
this.props.promise.then不是函数错误。为什么?Reactjs 为什么不是一个函数,reactjs,asynchronous,react-props,Reactjs,Asynchronous,React Props,this.props.promise.then不是函数错误。为什么? constructor(props) { super(props); this.state = { loading: true, error: null, data: [] }; } componentDidMount() { this.props.promise.then( value => this.setState({
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是一个数组
提前谢谢
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}));
}
因为无论您传递给名为promise
的组件的内容是什么,实际上都没有承诺
由于您提到this.props.promise的类型返回一个对象
,因此您可以将您的代码视为基本上是这样做的:
someObjectNamedPromise。然后(…)
由于someObjectNamedPromise
没有一个名为然后的属性指向一个函数,因此会出现一个错误,告诉您这一点
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}));
}
因为无论您传递给名为promise
的组件的内容是什么,实际上都没有承诺
由于您提到this.props.promise的类型返回一个对象
,因此您可以将您的代码视为基本上是这样做的:
someObjectNamedPromise。然后(…)
由于someObjectNamedPromise
没有一个名为的属性,那么
就指向了一个函数,因此会出现一个错误,告诉您这一点。检查类型(this.props.promise)
是什么,以及它包含什么。看起来像是传递给构造函数的坏数据?为什么希望数组的行为像承诺?这是一系列的承诺吗?如果是,请使用Promise。all
Typeof返回一个对象。传递的数组是从API异步构造的。请检查Typeof(this.props.Promise)
是什么,以及它包含什么。看起来像是传递给构造函数的坏数据?为什么希望数组的行为像承诺?这是一系列的承诺吗?如果是这样,请使用Promise.all
Typeof返回一个对象。传递的数组是从API异步构造的。谢谢Linas!你说的道具不是承诺是对的。我将API调用中的URL保存到父组件的状态,然后将其作为道具传递。为了让道具成为承诺,我只是让道具等同于API URL调用。现在它就像一个符咒!谢谢你,丽娜!你说的道具不是承诺是对的。我将API调用中的URL保存到父组件的状态,然后将其作为道具传递。为了让道具成为承诺,我只是让道具等同于API URL调用。现在它就像一个符咒!