我有一个因各种原因而被重用的组件。在组件中,我根据 url 参数更新商店的不同部分。我在尝试根据传递的字符串调用调度函数时遇到问题。这是我的导入:
import {updateUnassignedListingLeads, updateAssignedListingLeads} from "../../actions";
然后是调用调度的代码。如果我将 updateAssignedListingLeads 放在 storeName 的位置,它就可以工作。我还检查了输入的网址是否正确。它说它不是一个函数。
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))
});
}
这是文件的底部。我知道它无需尝试使用字符串变量作为调度操作即可工作。如果我用 updateAssignedListingLeads 替换 storeName 那么它就可以工作。
const mapStateToProps = (state) =>{
return {
app: state.app,
}
}
export default withRouter(connect(mapStateToProps)(ListingCoordinatorDetail));
任何帮助将不胜感激。谢谢!
最佳答案
您是否在应用程序中使用 connect API 将 redux 状态与 React 连接?
关于javascript - 从字符串变量调用 Redux 的调度函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59834126/