gpt4 book ai didi

javascript - 如何防止 React Components 中的卸载?

转载 作者:搜寻专家 更新时间:2023-11-01 04:56:12 24 4
gpt4 key购买 nike

我正在尝试在我的应用程序中实现一项功能,当用户试图离开未提交的表单时,他们会收到确认信息,询问他们是否确定要在保存之前离开变化。

componentWillUnmount 方法似乎是完美的候选者,因为它会触发用户可能放弃表单的所有各种方式(更改导致它消失的父组件状态,导航到不同的路线等...)。但是...当确认返回 false 时,我无法阻止卸载。

关于我如何着手实现它有什么建议吗?

最佳答案

这最好通过 react-router 处理:setRouteLeaveHook。

componentWillMount() {
this.unregisterLeaveHook = props.router.setRouteLeaveHook(props.route, this.routerWillLeave.bind(this));
}

routerWillLeave(nextLocation) {
return false;
}

当组件被卸载时,取消注册 leave 钩子(Hook):

componentWillUnmount() {
this.unregisterLeaveHook();
}

关于javascript - 如何防止 React Components 中的卸载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43828224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com