Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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
Reactjs 正则函数中的Redux钩子(钩子规则)_Reactjs_Redux_React Hooks - Fatal编程技术网

Reactjs 正则函数中的Redux钩子(钩子规则)

Reactjs 正则函数中的Redux钩子(钩子规则),reactjs,redux,react-hooks,Reactjs,Redux,React Hooks,我的常规功能有问题。在我的组件中,我加载了很多产品,这些产品的功能在任何地方都是可重用的。因此,我有一个名为products.js的文件,其中定义了一些函数。 在一个名为“getPrice”的函数中,我需要在redux存储中的减速机上获取一个名为“beautifullPrice”的参数 如果我遵守hooks规则,我必须在我的组件中实现useSelector,并在每个函数中将'beautifullPrice'作为参数传递。但我的“getPrice”是一个次级呼叫。因此,我需要在大量函数中声明'be

我的常规功能有问题。在我的组件中,我加载了很多产品,这些产品的功能在任何地方都是可重用的。因此,我有一个名为products.js的文件,其中定义了一些函数。 在一个名为“getPrice”的函数中,我需要在redux存储中的减速机上获取一个名为“beautifullPrice”的参数

如果我遵守hooks规则,我必须在我的组件中实现useSelector,并在每个函数中将'beautifullPrice'作为参数传递。但我的“getPrice”是一个次级呼叫。因此,我需要在大量函数中声明'beautifullPrice',在应用程序未重新加载之前,此参数不能更改

因此,在我看来,最简单的方法是直接在我的函数“getPrice”中使用useSelector,我所有的函数都不会有一个参数,它会更干净。但根据规则,我不应该这样做

第一个问题:为什么要这样做?我试过了,似乎效果不错。 第二个问题:还有其他合适的方法吗

我是唯一面临这种问题的人吗=D


谢谢阅读和帮助

请发布代码,你尝试过什么?你在写“我正在加载很多产品,其中的函数在任何地方都是可重用的。”遵循钩子规则的正确方法是创建自己的自定义钩子-。你也可以在自定义钩子中使用钩子。哦,是的,这是个好主意,我会试试看!自定义钩子可以是一个常规函数,可以正确处理钩子的使用?很抱歉,我不能发布代码,因为我不允许。是的,这是一个常规函数,它必须遵循一些规则,检查教程中的规则。