繁体   English   中英

React.js:为什么传递回调以将数据更新到拥有的组件

[英]React.js: why pass callbacks for updating data to owned components

我正在做React.js教程( http://facebook.github.io/react/docs/tutorial.html ),并且不了解这行背后的原因:

在CommentBox中执行所有这些逻辑是有意义的,因为CommentBox拥有代表注释列表的状态。

为什么CommentBox不只是将注释列表传递给CommentForm,以便它可以将新注释添加到列表中,而不是传递onCommentSubmit回调?

通常,控制权的反转使您可以集中状态数据,并在“负责任”的组件中对这些数据进行操作以跟踪它,并减少更改组件的理由。 例如,如果某天的评论列表变成了评论图或评论的不可变数据结构,则不必更改CommentForm ,而只需更改CommentBox

这也使您可以构建更多可重用的组件。 例如,想像一下您想要能够编辑评论的场景并不是一件容易的事。 通过将更改处理程序传递到CommentForm ,可以重用此组件进行编辑和创建注释,但这只有在您不对表单内部提交时应做的假设的情况下才有可能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM