在项目中把useDispatch和bindActionCreators放在哪里



我的问题是,我把上面提到的方法放在哪里?因为在我想使用Redux商店的每个组件中,我基本上都需要重复的咒语

import { useSelector, useDispatch } from "react-redux";
import { bindActionCreators } from "redux";
import * as actions from "../../redux/actions";

然后,例如,

const dispatch = useDispatch();
const { fetchStats } = bindActionCreators(actions, dispatch);

我见过有人做像containers文件夹?

另外,你的文件结构是什么?你们把动作放在哪里了?你是如何出口的?全部放在一个文件里还是什么?在更大的项目中,效率并不高。

一如既往,提前感谢!

答案是,不要。

bindActionCreators实际上只在React Reduxconnect函数内部使用过,应用程序代码通常不会使用。

今天,使用React-Redux钩子API,我们建议只手动编写:

const dispatch = useDispatch();
const handleClick = () => dispatch(someActionCreator())

这样一来,组件中实际发生的事情就更加明确了。

是的,这确实需要将钩子导入到组件中。这既是有意的,也是使用它们的必要条件,就像任何其他函数一样。

我们建议不要试图将";容器部件";,特别是如果您使用的是钩子API。

至于逻辑,你应该使用一个";特征文件夹";使用Redux Toolkit创建一个"文件结构";切片";包含逻辑的每个功能的文件。

相关内容

  • 没有找到相关文章

最新更新