我应该在哪里为ReactJS组件定位这个onClick逻辑?

时间:2017-12-08 14:24:17

标签: javascript reactjs redux react-redux

我有一个组件,它是一个打开对话框的按钮。

const myComponent = () => <div><button>click me</button></div>

按下按钮时,我想要打开对话框。

我应该在哪里定位onClick功能(将针对商店发送操作以显示对话框)?

我是否应该使用mapStateToProps在打开对话框的道具上创建一个函数,或者对于这样一个小组件是否过度?

1 个答案:

答案 0 :(得分:4)

它取决于您设计的许多方面:

这是一个常见的按钮组件吗?您是否在其他地方重复使用按钮?

然后你应该从props传递onClick事件和按钮的标题。

是一个只发送一个功能来打开对话框的按钮吗?是否仅用于打开对话框?

然后你可以在组件内处理它。

如果用于向商店发送操作,请使用mapDispatchToProps映射到道具的操作。

在我看来,除非你可以在其他地方访问该对话框,否则不需要在这里使用商店。