gpt4 book ai didi

javascript - Redux-form 调用外部表单组件提交

转载 作者:行者123 更新时间:2023-12-03 05:41:31 24 4
gpt4 key购买 nike

我正在构建一个具有动态表单(redux-form)的应用程序。我希望当用户单击提交按钮来打印值时。请注意,我的提交按钮位于我的应用程序标题中(表单外部)。为了实现这一目标,我遵循此tutorial来自 Redux 形式。当我按下“保存”按钮时,我在控制台中收到此错误:(0, _reduxForm.submit) is not a function(…)

我的代码:

提交组件

import React from 'react'
import {connect} from 'react-redux'
import {submit} from 'redux-form'

const RemoteSubmitButton = ({dispatch}) =>
// How to get 'form' prop here ?
<button type="submit" onClick={() => dispatch( submit() ) }>Save</button>
export default connect()(RemoteSubmitButton)

主要成分

// Import librairies
import Submit from 'submitBtn'
export default class extends Component {
...
render(){
return (
// html code
<Submit form="newuser" /> // form prop gonna be dynamic
)
}
}

submit.js

import {SubmissionError} from 'redux-form'

const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))

function submit(values) {
return sleep(1000) // simulate server latency
.then(() => {
window.alert(`You submitted:\n\n${JSON.stringify(values, null, 2)}`)
})
}

export default submit

new.js(新用户)

//Import librairies
import submit from 'submit'

class UserForm extends Component {
render() {
const {error, resetForm, handleSubmit} = this.props

return (<form onSubmit={ handleSubmit }>
<!-- Generate dynamic fields -->
</form>)
}
}

let FormWrapper = reduxForm({form: 'newuser', onSubmit: submit})(UserForm)

const selector = formValueSelector('newuser') // <-- same as form name
FormWrapper = connect(state => state.form)(FormWrapper)

你能告诉我我做错了什么吗?或者我该怎么做才能让它工作?

最佳答案

根据release notesv6.2.0中添加了submit操作.

您需要升级您的 redux-form 版本才能使其正常工作。

编辑:

为了提交表单,您需要在 RemoteSubmitButton 组件中使用 form 属性:

import React from 'react'
import {connect} from 'react-redux'
import {submit} from 'redux-form'

const RemoteSubmitButton = ({ dispatch, form }) => // Destructure the props here
<button type="submit" onClick={() => dispatch( submit(form) ) }>Save</button>
export default connect()(RemoteSubmitButton)

关于javascript - Redux-form 调用外部表单组件提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40513513/

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