我正在学习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);