我有从服务器获取数据的组件,然后将结果传递给另一个组件。
getData(args) {
return fetch(`${process.env.REACT_APP_API}/offers?title=${args}`)
.then(response => response.json())
.then((services) => { this.setState({ services }); });
}
在子组件中我想在回调函数中传递url,然后对结果执行某些操作(在本例中为console.log服务),但在获取数据之前,console.log正在触发。
handleSubmit(event) {
event.preventDefault();
if (this.state.validPhrase === false) return;
this.props.updateSearchPhrase(this.state.searchPhrase);
this.props.onSubmit(this.state.searchPhrase)
.then(console.log(this.props.services));
}
我该如何解决这个问题?
答案 0 :(得分:4)
then(console.log(this.props.services));
您在这里立即呼叫控制台。您需要将其括在一个函数中:
then(() => console.log(this.props.services));