繁体   English   中英

React-Redux-Form远程提交

[英]React - Redux-Form Remote Submit

我正在尝试使用redux-forms远程提交表单。 我的问题是,如何从组件外部的函数执行redux动作。 相当于说:

this.props.action(PARAMS);

我的代码如下:

async function submit(values) {
    return (
        //Equivalent of => this.props.addOne(values.name)
        await actions.addOne(values.name, 60)
    )
}

const renderTextField = ({ input, label, meta: { touched, error } }) =>
<TextField 
    autoFocus
    margin="dense"
    fullWidth
    type="text"
    label={label}
    {...input}
/>

class LibrarySubsectionForm extends React.Component {
render() {
    const { handleSubmit } = this.props;

    return (
        <form onSubmit={handleSubmit}>
            <Field
                component={renderTextField}
                name="name" 
                label="Subsection Name"
            />
        </form>
    )
}
}

export default compose(
connect(null, actions),
reduxForm({ form: 'AddSubsection', onSubmit: submit })
)(LibrarySubsectionForm);

Redux-form将您的装饰组件的dispatch功能和props作为onSubmit处理函数的第二个和第三个参数传递。 因此,基本上,您可以在自己的submit函数中访问它们。 如果要将actions作为道具传递给LibrarySubsectionForm则可以在submit函数中访问它们:

async function submit(values, dispatch, props) {
    return await props.actions.addOne(values.name, 60);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM