【问题标题】:Render React component automatically after ajax callajax 调用后自动渲染 React 组件
【发布时间】:2016-05-14 14:28:27
【问题描述】:

使用 jQuery,我可以通过 on 方法附加一个事件处理函数,当 DOM 更改和某些内容(如 Ajax 调用)替换页面的 HTML 时,该函数也会被触发。

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

谢谢

【问题讨论】:

  • 除非我有误解,否则您的 ajax 调用不应该负责更改 DOM。相反,你的 ajax 调用应该改变你的 react 组件的状态,这会导致重新渲染,进而应该修改 dom。一般来说,react 应该是唯一负责修改 dom 的东西。
  • 我不在 React 完成的单页应用程序中。只有一些组件区域“反应”,其他由 jQuery 管理,原因有很多。

标签: ajax reactjs react-dom


【解决方案1】:

应该赋予组件渲染责任以做出反应。因此,您应该将来自 ajax 调用的响应存储在 current state 中,并且 react 将根据当前状态处理组件渲染。 如果您只使用 react,请遵循这些 API

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

如果你在 react-redux 中写作,请关注 connect()

【讨论】:

  • 如果页面中的所有内容都通过 React 进行管理,这是一个好方法。在我的网站中(由于多种原因,这不是偶然的)有些东西是“反应”的,有些东西不是。你有解决我的问题的方法吗?附加一个监听器并在上课时做出反应?
猜你喜欢
  • 2018-04-20
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-18
  • 1970-01-01
相关资源
最近更新 更多