gpt4 book ai didi

javascript - 如何在函数中替换 this.props.dispatch ?

转载 作者:行者123 更新时间:2023-12-01 03:38:16 24 4
gpt4 key购买 nike

我通过在另一个 .js 文件中编写函数来分离我的代码。

问题是我无权访问我的 redux connect 函数,因为我没有在新的 .js 文件中使用类。

要澄清事情:

这是我的类中的函数 (barChange),我想将其移动到另一个 js 文件中

@connect((store) => {
return {
bar_change:store.bar_change
};
})
export default class Bardoctor extends React.Component {
constructor(props) {
super(props);

}
barChange(arg0){
//function code...
this.props.dispatch(user.changeBarNum(arg0,"bar_change_doctor"));
this.props.dispatch(user.sendBarDataDoctor("doctor_bar_send",temp_arr, flag_it, arg0));
}

为了使用我的用户。函数我必须有this.props.dispatch。如果我将 barChange 函数打包到另一个 .js 文件中并导出该函数并在我的类中调用它,我将如何使用 this.props.dispatch?

例如:

import * as user from "../actions/asyncCAll.js"
export function barChange(arg0, prop_arr, prop_next, string_change, string_send){
//function code...
dispatch(user.changeBarNum(arg0,string_change));
dispatch(user.sendBarDataPatient(string_send, temp_arr, flag_it, arg0));
}

最佳答案

您可以将 store 导入到新的 js 文件中并使用 dispatch method直接到商店。

import store from 'path/to/your/store/file'

function barChange(arg0) {
//function code...
store.dispatch(user.changeBarNum(arg0, "bar_change_doctor"));
store.dispatch(
user.sendBarDataDoctor("doctor_bar_send", temp_arr, flag_it, arg0)
);
}

如果您不使用 createStore 方法在单独的文件中创建商店,我建议您按如下方式操作。

const store = createStore(reducers, //...);

export default store;

警告:如果将其与服务器端渲染一起使用,此方法可能会变得复杂。

关于javascript - 如何在函数中替换 this.props.dispatch ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44085817/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com