Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从字符串变量调用Redux的调度函数_Javascript_Reactjs_Function_Redux - Fatal编程技术网

Javascript 从字符串变量调用Redux的调度函数

Javascript 从字符串变量调用Redux的调度函数,javascript,reactjs,function,redux,Javascript,Reactjs,Function,Redux,我有一个由于各种原因而被重用的组件。从组件中,我根据url参数更新存储的不同部分。我在尝试根据传递的字符串调用dispatch函数时遇到问题。这是我的意思: import {updateUnassignedListingLeads, updateAssignedListingLeads} from "../../actions"; 然后用我的密码呼叫调度。如果我把updateAssignedListingLeads放在storeName所在的位置,它就会起作用。我还检查了url是否正确。它说这

我有一个由于各种原因而被重用的组件。从组件中,我根据url参数更新存储的不同部分。我在尝试根据传递的字符串调用dispatch函数时遇到问题。这是我的意思:

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))
});
}
这是文件的底部。我知道它可以在不使用字符串变量作为分派操作的情况下工作。如果我用UpdateAsignedListingLeads替换storeName,那么它就可以工作了

const mapStateToProps = (state) =>{
  return {
    app: state.app,
  }
}

export default withRouter(connect(mapStateToProps)(ListingCoordinatorDetail));

任何帮助都将不胜感激。谢谢

应用程序中是否使用connect API将redux状态连接到react?

应用程序中是否使用connect API将redux状态连接到react?

确定,因此我必须以不同方式导入它并将其添加到eval中,如下所示:

import * as Update from '../../actions';

const storeName = eval(Update['update' + group.charAt(0).toUpperCase() + group.slice(1)]);

好的,所以我必须以不同的方式导入它并将其添加到eval中,如下所示:

import * as Update from '../../actions';

const storeName = eval(Update['update' + group.charAt(0).toUpperCase() + group.slice(1)]);

是的,就像我说的,如果我把变量名改成实际的函数名,它就会工作。组件是1600行。我将进行编辑以显示整个函数并将状态映射到PROPSW,该curr变量来自?var curr=this。这有助于保持axios callbacklet curr=这可以请您检查您是在这里获得组件引用,还是仅引用当前函数,如我所说,如果我将变量名更改为实际的函数名,那么它可以工作。组件是1600行。我将进行编辑以显示整个函数并将状态映射到PROPSW,该curr变量来自?var curr=this。它有助于保持axios callbacklet curr=这可以请您检查您是在这里获取组件引用,还是仅引用当前函数您是否在应用程序的不同位置使用storeName函数及其返回值???不,我只想在分派函数中动态使用它您使用storeName函数并在应用程序的不同位置返回值???不,我只想在分派函数中动态使用它使用
eval()
是个糟糕的主意:!使用
eval()
是个糟糕的主意:!