Как вызвать функцию реагирующего компонента в других js-файлах внутри проекта - PullRequest
1 голос
/ 29 марта 2019

У меня есть файл компонента React с именем FilterBox.jsx, у него есть функция со следующим кодом:

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 ]

1 голос
/ 29 марта 2019

Вы должны экспортировать addTimeFilter. Затем при импорте функции попробуйте это:


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

Я тоже новичок, чтобы реагировать, но что-то вроде этого должно работать! :)

РЕДАКТИРОВАТЬ: попробуйте экспортировать класс с "Export Default FilterBox" в строке в вашем файле

0 голосов
/ 29 марта 2019

Вам нужно написать ключевое слово export перед именем функции, чтобы другие файлы js знали, что импортировать.

export function addTimeFilter() {
/.../
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...