- 当我验证我的表单时,我的数据出现错误 422:错误“无效的表单”。
- 但是,我的操作获取了我的表单数据
- 但是不要在通话后在我的 api 中发送我的数据。
- 如果有人有一个想法,我想更好地理解。
- 谢谢大家
组件.JS
class CreatGroup extends React.Component{
// function to post
handleFormSubmit = (dataForm) => {
console.log(dataForm, ' DATA FORM')
this.props.dispatch(createPostGroup(dataForm))
}
render() {
// my form
const { handleSubmit, submitting } = this.props
return(
<div>
<form onSubmit={handleSubmit(this.handleFormSubmit)}>
<div>
<Field name="amount" component={renderField} type="number" label="amount" />
</div>
<div>
<Field name="duration" component={renderField} type="number" label="duration" />
</div>
<div>
<Field name="limit_members" component={renderField} type="number" label="max members" />
</div>
<div>
<button type="submit" disabled={submitting}>Submit</button>
</div>
</form>
</div>
)
}
}
CreatGroup = reduxForm({
form:'creat-group'
})(CreatGroup)
动作.JS
// CONST ACTIONS
const CREATE_GROUP = 'CREATE_GROUP'
//ACTIONS
export function createPostGroup(data){ return { type: CREATE_GROUP, data}};
减速器.JS
// REDUCER
export default function groupReducer( state= {}, action){
switch (action.type){
case CREATE_GROUP:
return action.data
case CREATE_GROUP_FAIL:
return {
...state
}
default:
return state
}
}
组合减速器.JS
// COMBINE REDUCER
const reducer = combineReducers({
groupReducer,
form: formReducer
});
萨加斯.JS
也许问题来自那里?
// CALL API
export function* createApiDataGroup(action){
try {
const data = yield call(axios.post, 'http://localhost:8000/api/create');
yield put({ type: "CREATE_GROUP", data })
} catch (e) {
yield put({ type: "CREATE_GROUP_FAIL", e})
}
}
export default function* mySaga() {
yield all([
takeEvery('CREATE_GROUP', createApiDataGroup)
])
}