मेरा एपीआई अनुरोध लंबित होने पर मुझे लोडर दिखाना होगा। मैं कोशिश करता हूं लेकिन यह काम नहीं कर रहा है। तो यह कैसे करें।

this.props.showLoader();
        ajax(config)
            .then((response) => {
                let data;
                this.props.hideLoader();
                data = response.data;
                data[this.props.moduleName.storeVarName + "MediaCost"] = response.data.totalCampaignCost ? response.data.totalCampaignCost : 0;
                this.props.updateCampaignData(data);
            }).catch((error) => {
                this._errorHandler(error);
                this.props.hideLoader();
            });
0
Sourabh Dubey 21 नवम्बर 2018, 08:51

1 उत्तर

सबसे बढ़िया उत्तर

आपके द्वारा प्रदान की गई जानकारी पर्याप्त नहीं है, हालांकि मैं http अनुरोध करते समय लोडर दिखाने के लिए एक उदाहरण साझा कर रहा हूं:

const Loader = () => <div>Loading...</div>;

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      loading: false,
    };
  }

  hideLoader = () => {
    this.setState({ loading: false });
  }

  showLoader = () => {
    this.setState({ loading: true });
  }

  fetchInfo = () => {
    const _this = this;
    this.showLoader();
    ajax(config)
      .then((response) => {
        // do whatever you want with success response
        _this.hideLoader();
      }).catch((error) => {
        // do whatever you want with error response
        _this.hideLoader();
      });
  }

  render() {
    return (
      <div>
        <button onClick={this.fetchInfo} />
        {(this.state.loading) ? <Loader /> : null}
      </div>
    );
  }
}
4
Rohit Sharma 21 नवम्बर 2018, 07:13