reactjs – 从外部更新组件状态React(在服务器响应上)

我正在学习React的过程。目前我有几个组件链接为父子,通过它们的通信很容易与回调。

我有一个表(反应组件)和一个小模态的ajax形式(无反应)。当我从服务器收到响应(一个项目)时,我想将该项目添加到表中。

我的主要问题是,是否可能从外部触发组件状态更改react(在这种情况下对服务器响应)?

Can you trigger a component state change outside a component?

是。只是一个简单的例子

在你的react组件中设置一个全局可用的闭包,当函数被触发时,它将更新它的状态。

componentwillMount(){
 globalVar.callback = (data) => {
    // `this` refers to our react component
    this.setState({...});     
  };
}

然后当你的ajax的响应回来,你可以使用返回的数据触发事件

globalVar.callback(data);

或者为了更强大的功能,请设置自定义事件和全局侦听器

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...