【发布时间】:2017-01-06 16:27:01
【问题描述】:
我有一个带有 redux-form 的表单设置,并且基本上想创建一个场景,如果表单的任何输入中都填写了内容,并且您尝试离开页面,则会收到提示。
目的是取消页面卸载或页面导航,如果他们点击取消。我尝试创建一个条件,如果满足将只是 return 但它仍然导航离开当前页面。
这可能很自然,而且我还不了解 react/react-router 工作流程,但目前有人能够解释最好的方法吗?如果某些事情未得到满足,一般情况下是否有什么可以让我停止卸载?
import { reduxForm } from 'redux-form';
class Form extends Component {
componentWillUnmount() {
if (!this.props.pristine && !confirm('Are you sure you want to navigate away from this page?')) {
return;
}
}
render() {
const { handleSubmit } = this.props;
return (
<form onSubmit={ handleSubmit(this.props.onSubmit) }>
...
</form>
);
}
}
...
export default connect(mapStateToProps, null)(reduxForm({
form: 'Form',
enableReinitialize: true,
validate
})(Form));
【问题讨论】:
标签: javascript reactjs redux redux-form