Redux:是否将论点传递给可以从State检索到的Action?

时间:2018-10-09 11:27:34

标签: javascript reactjs redux react-redux flux

我有一些文章。用户有时会编辑或删除文章。我的应用跟踪当前正在处理哪篇文章的状态(将其称为currentArticleId)。

现在,当用户编辑或删除文章时,我该给动作创建者一个currentArticleId作为参数(例如:deleteArticle(this.props.currentArticleId)),还是我这样做,并在没有参数的情况下解雇动作创建者 (例如:deleteArticle()),并从我的动作创建者的状态中获取currentArticleId

这里的最佳做法是什么?为什么我要选择一种解决方案而不是另一种?

2 个答案:

答案 0 :(得分:0)

我将通过传递文章ID来使您的操作创建者更加灵活,然后您删除文章的操作可以删除当前文章或它想要的任何其他文章。

edit:我想补充一点,通常有更好的替代方法可以将这样的信息保持在全局状态。如果您仅在页面上编辑/删除单个文章,则可以使用article/{id}/edit之类的URL,然后从那里获取ID并将其传递给您所需的内容,或者您​​有文章列表每个都有编辑者,请考虑将商品ID作为道具传递给编辑器组件。

答案 1 :(得分:0)

如果按状态表示Redux应用程序状态,则没有正确或错误的答案。您甚至可以执行两个操作-deleteCurrentArticle()deleteArticle(articleId),然后使用更适合您的方式。

但是,如果您要询问组件状态,我认为应该将动作创建者与组件分离。因此,我更希望将currentArticleId作为参数传递。