【发布时间】:2017-09-21 13:01:34
【问题描述】:
你好, 如何发送我的 redux 表单的字段值?实际上,我需要使用 reducer 和 actionCreator 将表单字段的值发送到数据库中。
我的表格:
import React, {PropTypes} from 'react';
class myformClass extends React.Component {
render(){
return(
<form>
<Field
name="inputName"
ref="inputName"
hintText="Le nom du flux"
floatingLabelText="Nom du input"
component={renderTextField}
fullWidth={true}
/>
<Field
label="inputComment"
name="inputComment"
ref="inputComment"
hintText="La description du input"
floatingLabelText="Commentaire"
component={renderTextareaField}
/>
</form>
)
}
}
export default withRouter(reduxForm({
form: 'myForm'
})(myformClass))
在我的索引应用程序中,我导入了“redux-form 的 reducer”:
import { reducer as reduxFormReducer } from 'redux-form'
我结合了减速器:
let allReducers = combineReducers({form: reduxFormReducer })
我创建了一个动作类型:
export const FORM_ADD = 'FORM_ADD'
我也创建了一个动作创建者:
export function addForm(dataForm) {
return {
type: types.FORM_ADD ,
data: {
INPUT_NAME: dataForm.inputName,
INPUT_COMMENT: dataForm.inputComment
}
}
}
但是现在,我不知道,我应该如何使用我的动作创建者和减速器来检索和发送我的表单的值。我知道我必须恢复我的表单的价值,然后发送它。
作为参考,我可以通过这样做来恢复我的 redux-form 的价值:
import React, {PropTypes} from 'react';
class myformClass extends React.Component {
static contextTypes = {store: PropTypes.object}
getValMyForm = () => {
const { store } = this.context
const state = store.getState()
let valueFormFLow = getFormValues('myForm')(state)
return valueFormFLow;
}
}
export default withRouter(reduxForm({
form: 'myForm'
})(myformClass))
我需要您的帮助 PLEASEEEEEE,对不起我的英语!!! :)
【问题讨论】:
-
您能否澄清一下:您是否要发送表单数据(用户已经填写)以便将其存储在数据库中?还是您想将数据库中的数据加载到您的表单中? (使用现有数据预先填写表单字段)?
标签: javascript reactjs redux react-redux redux-form