我正在以正确的方式做到这一点"困境,可以使用一些专业知识。我有一个父组件:
<Articles>
在该组件内部,我为每篇文章呈现子组件:
<Article>
点击Article
后,我想将articleId
发送到父<Articles>
组件。然后,<Articles>
组件会将需要的任何内容发送回我的ArticleStore
来处理数据并将发回发送到我的<Articles>
组件。
我的问题是,将articleId
直接传递给父母是否可以,或者因为我使用Flux架构,我应该将articleId
发送到商店,然后让商店将articleId
发回给父母?
答案 0 :(得分:1)
为了保持关注点,Article
组件不应该直接了解它的父级。因此,它应该与父Articles
进行通信的唯一方式是通过Articles
传递的回调(例如articleIdChangeHandler
)。然后回调可以做任何你想做的事情,包括在articleId
中将Articles
设置为状态或将articleId
发送到商店。
通常,您不希望在较低级别的组件中公开Flux操作,因此您可能不希望直接从Article
发送。
是否将articleId
的单一事实来源保留为Articles
或Flux商店中的状态总是一个有趣的问题。我经常发现像articleId
这样的东西需要比我最初想象的更全局的范围,所以它可能从组件状态开始,但最终通常会在商店中结束。