Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.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
Javascript 我应该将ReactJS组件的onClick逻辑放在哪里?_Javascript_Reactjs_Redux_React Redux - Fatal编程技术网

Javascript 我应该将ReactJS组件的onClick逻辑放在哪里?

Javascript 我应该将ReactJS组件的onClick逻辑放在哪里?,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我有一个组件,它是一个打开对话框的按钮 const myComponent = () => <div><button>click me</button></div> constmycomponent=()=>单击我 按下按钮时,我希望对话框打开 我应该将onClick功能定位在何处(该功能将对存储区发送操作以显示对话框) 我应该使用mapStateToProps在道具上创建一个打开对话框的功能,还是对于这样一个小的组件来说,这样做太过分了

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

const myComponent = () => <div><button>click me</button></div>
constmycomponent=()=>单击我
按下按钮时,我希望对话框打开

我应该将
onClick
功能定位在何处(该功能将对存储区发送操作以显示对话框)


我应该使用
mapStateToProps
在道具上创建一个打开对话框的功能,还是对于这样一个小的组件来说,这样做太过分了?

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

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

然后,您应该通过props传递onClick事件和按钮的标题

是一个按钮,它只发送一个函数来打开对话框吗?是否仅用于打开对话框?

然后您可以在组件内部处理它

如果它用于向商店分派动作,则使用
mapDispatchToProps
将动作映射到道具


在我看来,除非您可以在其他地方访问该对话框,否则无需使用store here。

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

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

然后,您应该通过props传递onClick事件和按钮的标题

是一个按钮,它只发送一个函数来打开对话框吗?是否仅用于打开对话框?

然后您可以在组件内部处理它

如果它用于向商店分派动作,则使用
mapDispatchToProps
将动作映射到道具


在我看来,除非您可以在其他地方访问该对话框,否则无需在此处使用store。

我可以将
mapDispatchToProps
与无状态功能组件一起使用吗?是的,如果您要向store发送操作,我可以将
mapDispatchToProps
与无状态功能组件一起使用吗?是的,如果您正在向商店分派操作