小编典典

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

reactjs

我正在学习React。目前,我有几条components链子作为父子链,通过回调很容易完成它们之间的通信。

我有一张 桌子 (反应成分)和一个小模态ajax 形式 (没有反应)。当我从服务器收到 响应 (一个项目)时,我想
将该项目添加到表中。

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


阅读 284

收藏
2020-07-22

共1个答案

小编典典

您可以在组件外部触发组件状态更改吗?

是。 这是一个简单的例子

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

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

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

globalVar.callback(data);

或者,对于更强大的功能,请使用自定义事件或订阅

2020-07-22