从mapDispatchToProps中分派操作是个坏主意。原因如下:
- mapDispatchToProps是React Redux中的一个函数,用于将action creators绑定到dispatch函数上,以便在组件中调用。它的主要目的是将action creators转化为可以在组件中直接调用的props函数。
- mapDispatchToProps应该只负责将action creators绑定到dispatch上,而不应该在其中执行分派操作。分派操作应该在组件中进行,或者在thunk或saga等中间件中进行。
- 将分派操作放在mapDispatchToProps中会导致以下问题:
- 违反了单一职责原则:mapDispatchToProps的职责应该是将action creators绑定到dispatch上,而不是执行分派操作。将分派操作放在mapDispatchToProps中会导致该函数既要处理action creators的绑定,又要执行分派操作,违反了函数的单一职责原则。
- 使代码难以维护和测试:将分派操作放在mapDispatchToProps中会导致组件的代码变得复杂,难以理解和维护。同时,由于分派操作通常涉及到异步操作,如网络请求,将其放在mapDispatchToProps中会使测试变得困难,因为需要模拟异步操作的返回结果。
综上所述,从mapDispatchToProps中分派操作是一个坏主意。正确的做法是将分派操作放在组件中进行,或者使用中间件来处理分派操作。这样可以保持代码的清晰和可维护性,并且方便进行测试。