在docs中,React表示它并不真正关心实例,因为组件将props作为输入和输出元素。它为您提供了一个示例,介绍了其他框架如何创建实例,然后将其连接到DOM以处理不同的事件。但我不明白这与React的做法有何不同。
您没有在React中调用组件上的new
,但您仍需要渲染它并创建所有相同的处理程序。并且组件内的this
仍然引用实例,因此每次渲染组件时React仍然必须创建一个实例(即使它是<li>
内部被渲染多次的组件立刻)。
传统框架必须创建同一组件的多个实例才能连接到它所对应的每个DOM节点,这不就是React正在做的事情吗?一个组件如何跟踪多个this
?
答案 0 :(得分:1)
不同之处在于您的开发人员不必编写代码来完成所有这些操作。您只需编写render方法和回调函数,让React担心创建DOM元素和组件实例并将它们连接在一起。
答案 1 :(得分:1)
确实,React在内部创建组件 实例 。您无需担心使用new
。
React Element 只是一个简单的JavaScript对象,描述您想要呈现的内容( React.Component 或 HTML元素,如果type
是字符串)。
来自docs:
元素不是实际的实例。相反,它是一种告诉的方式 反应你想在屏幕上看到的内容。你不能调用任何方法 在元素上。它只是一个带有两个的不可变描述对象 fields:type:(string | ReactClass)和props:Object1。