我正在学习ReactJS,我几乎已经阅读了官方网站上的所有文件。
构建自包含和可重用的视图组件是一个很棒的框架,但是我现在有些困惑:
1 MVC vs Self-contained
如上所述,reactjs被认为是MVC中的V
,而业务逻辑不应该放在从服务器下载数据并将数据保存到服务器中。
然而,似乎一个独立的组件控制模型,控制器和视图可能在某个时候有意义。
以教程(http://facebook.github.io/react/docs/tutorial.html)中的CommentBox
为例:
CommentBox
本身采用加载/表示/更新注释的处理程序,示例中没有问题,因为此组件与其他组件没有交互。
如果我们想要使用具有不同来源的CommentBox
可能具有不同的加载/更新方式,那该怎么样?在这种情况下,使用ReactJS只是为了表示更有意义。
所以我想知道哪个是reactjs的方式?
2个在线活动注册
代码:
render: function() {
var value = this.state.value;
return <input type="text" value={value} onChange={this.handleChange} />;
}
如图所示,我们必须在标记(jsx)中注册onChange
事件,这是我们尽力避免的吗?如果我们想将相同的事件绑定到元素列表,通常我们使用:
$(".selector").click("...");
现在我们必须将事件添加到每个节点。
是否可以从标记中分割事件?
答案 0 :(得分:2)
我想说在CommentBox
示例中,他们不想引入Flux或任何其他架构,只是为了简单起见。始终尽可能多地与组件中的逻辑分离。 API调用不属于组件。 Dan Abramov的This is an interesting reading解释了如何构建良好的组件层次结构。
这实际上是一个React pro。它是声明性的,并且阻止你使用DOM选择器的jQuerish快捷方式,这是旧的命令式方法。 jQuery的思维方式不容易转储。如果您还没有,我建议您阅读Thinking in React。