javascript - 我正在将参数从一个函数传递到reactJs中的另一个函数,但结果为空

标签 javascript reactjs

这是我的第一个具有函数 1 的文件

import React, {Component} from "react";
import axios from 'axios';
import { config } from '../../config/config.js';
class Dashboard extends Component {
  constructor(props) {
    super(props);
  }
  componentWillMount(){
      var obj = {
          campaign:campaignName,
          campaignId:campaignId,
          clientId:clientId,
          clientName:clentName,
          end:endDate,
          start:startDate,
          timeZone:new Date().getTimezoneOffset(),
          ReportName:'Chargebacks',
          widgetName:'Billing Cycle'
    }
     var resdata = ChartAPI.widgetApiCalls(config.apiUrl,obj);
     console.log(resdata );
  }
}

这是另一个具有功能 2 的函数

import axios from 'axios';
 function charts(){
     this.widgetApiCalls =  function(url,parmsobj){
        var byresspose=[];
        axios.get(url+"/reports",{params:parmsobj})
          .then(function(response){        
                for(var i in response.data){
                    byresspose.push({"label":"Billing Cycle"+" "+response.data[i].billingCycle,"value":response.data[i].total})
                }
                console.log(byresspose);
          });
          return  byresspose;
      };
 }
charts = new charts();
module.exports = charts; 

将参数从一个函数 1 传递到另一个函数 2 的正确方法是什么?

最佳答案

您需要将 charts 模块导入到仪表板组件源文件中:

import ChartsAPI from './charts.js';

然后你就可以在 componentWillMount 上调用它:

 var chartsAPI = new ChartsAPI();
 chartsAPI.widgetApiCalls(config.apiUrl,obj).then(function(result) {
   var resdata = result;
   console.log(resdata);
 });

这还需要 widgetApiCalls 返回 Promise:

this.widgetApiCalls =  function(url,parmsobj){
  return axios.get(url+"/reports",{params:parmsobj})
      .then(function(response){
            var byresspose=[];        
            for(var i in response.data){
                byresspose.push({"label":"Billing Cycle"+" "+response.data[i].billingCycle,"value":response.data[i].total})
            }
            console.log(byresspose);
            return byresspose; // this will come to the Dashboard `widgetApiCalls.then`
      });
  };

关于javascript - 我正在将参数从一个函数传递到reactJs中的另一个函数,但结果为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46925878/

相关文章:

javascript - Browserify:导出模块并通过脚本标签访问

reactjs - 如何将 Reselect 与嵌套的选择器调用一起使用

reactjs - 是否可以在 Redux/React 中分离组件的表示和逻辑?

node.js - 当没有任何更改时,Sequelize 关联/模型突然无法识别,模糊错误无法读取未定义的属性 'field'

javascript - 减少 JavaScript 中的对象数组

javascript - 使用 jQuery 从 URL 读取#hash

javascript - 将副标题添加到列表中但仅添加一次

javascript - 未处理的拒绝错误 : WHERE parameter “number_phone” has invalid “undefined” value

javascript - Jquery foreach 循环

javascript - ReactJS html5 视频 - 如何捕获点击时的视频控件