簡體   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