我想在组件卸载后取消一些功能,因为它会导致内存泄漏我的代码如下所示
componentDidUpdate(prevProps) {
if (prevProps.org.org !== this.props.org.org && this.mounted) {
this.props.clearGraph();
this.props.graphGet(this.props.org.org);
this.setState({ org: this.props.org.org });
}
}
componentDidMount() {
const abox = "a" + this.props.org.org.substr("1");
this.props.getHistory(abox);
this.props.graphGet(this.props.org.org);
}
componentWillUnmount() {
}
我想要的只是取消 graphGet 这是一个 redux 操作
您无法按设计取消 Redux 操作。一旦它们被调度,它们就会被减速器处理并执行状态转换。
但是,您可以调度另一个操作来恢复状态更改或导致副作用。通常你会使用另一个库,比如redux-observable
对于后者。
例如,您可以定义 3 个操作:START_GRAPH_GET
, CANCEL_GRAPH_GET
and FINISH_GRAPH_GET
. On START
你开始你的获取,在CANCEL
您取消任何未完成的提取,一旦提取完成,您就分派FINISH
并将结果保存在商店中。
为了呈现结果,您需要使用react-redux
与一个连接mapStateToProps
功能。
要取消卸载,您只需发送一个CANCEL
如有必要,请采取行动。
由于您的代码根本没有显示与 Redux 相关的任何内容,因此我认为这里更通用的答案是合理的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)