我有一些文章。用户有时会编辑或删除文章。我的应用跟踪当前正在处理哪篇文章的状态(将其称为currentArticleId
)。
现在,当用户编辑或删除文章时,我该给动作创建者一个currentArticleId
作为参数(例如:deleteArticle(this.props.currentArticleId)
),还是我不这样做,并在没有参数的情况下解雇动作创建者 (例如:deleteArticle()
),并从我的动作创建者的状态中获取currentArticleId
?
这里的最佳做法是什么?为什么我要选择一种解决方案而不是另一种?
答案 0 :(得分:0)
我将通过传递文章ID来使您的操作创建者更加灵活,然后您删除文章的操作可以删除当前文章或它想要的任何其他文章。
edit:我想补充一点,通常有更好的替代方法可以将这样的信息保持在全局状态。如果您仅在页面上编辑/删除单个文章,则可以使用article/{id}/edit
之类的URL,然后从那里获取ID并将其传递给您所需的内容,或者您有文章列表每个都有编辑者,请考虑将商品ID作为道具传递给编辑器组件。
答案 1 :(得分:0)
如果按状态表示Redux应用程序状态,则没有正确或错误的答案。您甚至可以执行两个操作-deleteCurrentArticle()
或deleteArticle(articleId)
,然后使用更适合您的方式。
但是,如果您要询问组件状态,我认为应该将动作创建者与组件分离。因此,我更希望将currentArticleId作为参数传递。