首页 文章

reactjs中的内联事件处理程序

提问于
浏览
0

我正在学习ReactJS,我几乎已经阅读了官方网站上的所有文件 .

构建自包含和可重用的视图组件是一个很棒的框架,但是我现在有些困惑:

1 MVC vs Self-contained

如上所述,reactjs被认为是MVC中的 V ,而业务逻辑不应该放在从服务器下载数据并将数据保存到服务器中 .

然而,似乎一个独立的组件控制模型,控制器和视图可能在某个时候有意义 .

以教程(http://facebook.github.io/react/docs/tutorial.html)中的 CommentBox 为例:

CommentBox 本身采用加载/表示/更新注释的处理程序,示例中没有问题,因为此组件与其他组件没有交互 .

如果我们想要使用具有不同加载/更新方式的不同源的 CommentBox 怎么样?在这种情况下,使用ReactJS只是为了表示更有意义 .

所以我想知道哪个是reactjs方式?

2 In-line events registering

码:

render: function() {
    var value = this.state.value;
    return <input type="text" value={value} onChange={this.handleChange} />;
  }

如图所示,我们必须在标记(jsx)中注册 onChange 事件,这是我们尽力避免的吗?如果我们想将相同的事件绑定到元素列表,通常我们使用:

$(".selector").click("...");

现在我们必须将事件添加到每个节点 .

是否可以从标记中分割事件?

1 回答

  • 2

    MVC vs自包含

    我会说在 CommentBox 例子中,他们不想引入Flux或任何其他架构,只是为了简单起见 . 始终尽可能多地与组件中的逻辑分离 . API调用不属于组件 . 由Dan Abramov撰写的This is an interesting reading解释了如何构建良好的组件层次结构 .

    在线事件注册

    这实际上是一个React pro . 它是声明性的,并且阻止你使用DOM选择器的jQuerish快捷方式,这是旧的命令式方法 . jQuery的思维方式不容易转储 . 如果你还没有,我建议你阅读Thinking in React .

相关问题