У меня есть компонент, который повторно используется по разным причинам. Из компонента я обновляю разные части магазина на основе параметра url. У меня возникла проблема при попытке вызвать функцию отправки на основе переданной строки. Вот мой импорт:
import {updateUnassignedListingLeads, updateAssignedListingLeads} from "../../actions";
А затем мой код для вызова отправки. Если я поставлю updateAssignedListingLeads, где storeName это работает. Я также проверил, что URL-адрес корректен. Он говорит, что это не функция.
reloadFilteredListingLeads = () =>{
let curr = this
var url = this.removeParameter()
const parsed = queryString.parse(this.props.location.search);
let column = parsed.column
let order = parsed.order
let term = parsed.term
let filters = parsed.filters
let group = parsed.group
const vals = {
column: column,
order: order,
filters: filters,
term: term
};
let strip = url.replace("/", "");
const storeName = eval('update' + group.charAt(0).toUpperCase() + group.slice(1));
axios.post('/filtered-' + strip, vals, headers).then(response => {
curr.props.dispatch(storeName(response.data))
});
}
Это нижняя часть файла. Я знаю, что это работает, не пытаясь использовать строковую переменную в качестве действия отправки. Если я заменю storeName на updateAssignedListingLeads, то это сработает.
const mapStateToProps = (state) =>{
return {
app: state.app,
}
}
export default withRouter(connect(mapStateToProps)(ListingCoordinatorDetail));
Любая помощь будет принята с благодарностью. Спасибо!