2016-05-14 25 views
2

使用jQuery,我可以通过on方法附加一个事件处理函数,该方法在DOM更改和某些事情(如Ajax调用)替换页面的HTML时也会触发。ajax调用后自动渲染React组件

是否有可能对React组件做类似的事情?在改变DOM的ajax调用之后,如果找到具有特定class的元素,则将其渲染(使用ReactDOM.render(...))。

谢谢

+0

除非我的误解,在你反应过来Ajax调用不应该负责改变DOM。相反,你的ajax调用应该改变你的反应组件的状态,这会导致重新渲染,并且反过来应该修改dom。一般来说,反应应该是唯一负责修改dom的东西。 – Georgemayer

+0

我不在由React完成的单个页面应用程序中。只有一些组件区域“反应”,其他组件由于多种原因由jQuery管理。 –

回答

4

组件渲染责任应给予反应。因此,您应该在current state中存储来自ajax调用的响应,并根据当前状态处理组件呈现。如果你正在使用 按照这些API才反应过来

https://facebook.github.io/react/docs/component-api.html

或跟随connect()如果你正在写的反应,终极版

+0

如果您的页面中的所有内容都通过React进行管理,那么这是一种好方法。在我的网站(由于多种原因,这不是偶然的)某些东西是“反应”的,而不是一些东西。 您对我的问题有解决方案吗?附上一个清单并在课堂发生时作出反应? –