在.then

时间:2018-04-18 13:12:02

标签: javascript reactjs

我有从服务器获取数据的组件,然后将结果传递给另一个组件。

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));
}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

then(console.log(this.props.services));

您在这里立即呼叫控制台。您需要将其括在一个函数中:

then(() => console.log(this.props.services));