如何在项目内的其他js文件中调用React组件的功能

时间:2019-03-29 09:44:02

标签: javascript reactjs functional-programming

我有一个名为FilterBox.jsx的React组件文件,它具有以下代码的功能:

addTimeFilter() {
   var clickedItem2 = sessionStorage.getItem("clicked_value");
   const fltr = TIME_FILTER_MAP['__time_range'];
   const vals = '2019-03-25T00:00:00 : 2019-03-26T00:00:00';
   const selectedValues = Object.assign({}, {"__time_range" : "2019-03-25T00:00:00 : 2019-03-26T00:00:00","BrandName" : clickedItem2});
   selectedValues[fltr] = vals;
   this.setState({ selectedValues, hasChanged: true });
   if (this.props.instantFiltering) {
      this.props.onChange(fltr, vals, false, true);
   }
}

我还有一个.js文件。我想在addTimeFilter()文件中调用.js。请帮我怎么做。

我试图这样导入它:

 import FilterBox from '../../FilterBox';

然后我尝试在.js文件中的函数内执行此操作,以调用以下函数:

function select(){
     const filter = new FilterBox();
     filter.addTimeFilter();
}

但是只有从'../../FilterBox'导入的FilterBox给我错误

2 个答案:

答案 0 :(得分:1)

您必须导出addTimeFilter。然后,当您导入函数时,请尝试以下操作:


import { addTimeFilter } from '../../FilterBox';

我也很反应,但是类似的事情应该起作用! :)

编辑:尝试在文件行中使用“导出默认FilterBox”导出类

答案 1 :(得分:0)

您需要在函数名称之前编写export关键字,以使其他js文件知道要导入的内容。

export function addTimeFilter() {
/.../
}