我有一个组件,它是一个打开对话框的按钮。
const myComponent = () => <div><button>click me</button></div>
按下按钮时,我想要打开对话框。
我应该在哪里定位onClick
功能(将针对商店发送操作以显示对话框)?
我是否应该使用mapStateToProps
在打开对话框的道具上创建一个函数,或者对于这样一个小组件是否过度?
答案 0 :(得分:4)
它取决于您设计的许多方面:
这是一个常见的按钮组件吗?您是否在其他地方重复使用按钮?
然后你应该从props传递onClick事件和按钮的标题。
是一个只发送一个功能来打开对话框的按钮吗?是否仅用于打开对话框?
然后你可以在组件内处理它。
如果用于向商店发送操作,请使用mapDispatchToProps
映射到道具的操作。
在我看来,除非你可以在其他地方访问该对话框,否则不需要在这里使用商店。