Javascript 使用useSelector和useDispatch的Redux钩子-为什么要使用这个?
我刚刚转换了一个react组件,该组件有一个单独的“容器”文件,其中包含mapStateToProps/mapDispatchToProps connect包装器实现 现在,我的GUI组件混合了特定于redux的功能,如useSelector和useDispatch。现在没有道具被传递进来 这似乎是最糟糕的设计模式。在此之前,GUI组件是道具的功能,不管它们是来自redux还是来自父控件 易于测试,并且非常清楚组件所依赖的属性 这一切都消失了 有人能想到使用redux钩子的一个好处吗?也许我错过了什么Javascript 使用useSelector和useDispatch的Redux钩子-为什么要使用这个?,javascript,reactjs,redux,react-redux,react-hooks,Javascript,Reactjs,Redux,React Redux,React Hooks,我刚刚转换了一个react组件,该组件有一个单独的“容器”文件,其中包含mapStateToProps/mapDispatchToProps connect包装器实现 现在,我的GUI组件混合了特定于redux的功能,如useSelector和useDispatch。现在没有道具被传递进来 这似乎是最糟糕的设计模式。在此之前,GUI组件是道具的功能,不管它们是来自redux还是来自父控件 易于测试,并且非常清楚组件所依赖的属性 这一切都消失了 有人能想到使用redux钩子的一个好处吗?也许我错过
谢谢唯一的好处是你不必一直把这些道具从父母那里传给孩子。说真的,这是唯一的好处。因此,如果它能工作,就不要重构任何东西来使用钩子,除非你有认真的理由这样做。即使使用钩子语法,你仍然可以做两个组件:一个是连接的,另一个是接收其道具中的所有内容(并且可以更容易地测试)。这只是一种新的语法,您不必在同一个组件中混合所有内容 钩子的主要优点是可以编写自定义钩子。当你所做的事情没有意义时,优势很小