我目前有一个问题,我不确定如果我只是没有看到更大的图片(或者可能不这样做),或者如果这是有效的减少... ...React-Redux - 向组件广播一个动作
我有一个固定大小的SVG图表。用户可能会在我的页面上打开一个面板,这会减小图表的宽度。这导致我的图表被压缩。要解决这个问题,图表应该更新维度,以便再次看起来很好。
所以...我有一个组件,用户点击以打开面板。该组件应该触发一个动作,理想情况下是一般的,可重用的,如“rerenderSVG”。我可以使用标准的redux工作流程,并让我的reducer在我的状态中放置一些标志,并让我所有与svg相关的组件都能听到。但这感觉像是过度杀伤。在我的状态下,这是我所不希望的,我只想要一个广播给所有安装组件的动作,例如“嗨,组件,这只是发生了,如果这涉及到你:请做出反应”。
这可以很容易地完成在流量,但在减少...我不知道。这种模式是否能够实施,并仍然符合减排方式?
如果这个问题是如此的平凡以至于已经有成千上万的帖子对不起!但我真的不知道要查找哪些关键字...
请纠正我,如果我错了,但不是减速机错误的地方,我的问题?就像我说的:我不想改变我的状态。我想要一个行动被派遣/广播到一个组件。所有reducer都可以做的是在我的应用程序状态中添加一个标志,以便我的组件可以监听它。 ...我越想越多,我感觉这不可能以重做的方式完成,但我仍然想问问...... – hurrtz
如果只有一个组件需要知道新的缩小尺寸,那么缩减器可能不是一个好的地方。如果它是多个组件需要知道新的缩小尺寸,那么可能是。我想在流量中直接在组件中订阅并使用setState触发重新渲染,而不是将其保存在商店中。是。在这种意义上你是对的,没有办法在没有实际改变状态的情况下通知组件。你可以写一个redux中间件,但我不认为这是一个很好的解决方案。 –