我正在尝试使用redux-form
// rootRedcer.ts
import { combineReducers } from 'redux'
import { reducer as formReducer } from 'redux-form'
import translation from './translation/reducer'
export default combineReducers({
form: formReducer,
translation,
})
// components/DashboardHome/index.tsx
import { connect } from 'react-redux'
import DashboardHome from './Home'
export default connect()(DashboardHome)
// components/DashboardHome/DashboardHome.tsx
import * as React from 'react'
import { Field, reduxForm } from 'redux-form'
function handleSubmit(value) { console.log(value) }
const DashboardHome = () => (
<form onSubmit={handleSubmit}>
<div>
<label htmlFor="firstName">First Name</label>
<Field name="firstName" component="input" type="text" />
</div>
<div>
<label htmlFor="lastName">Last Name</label>
<Field name="lastName" component="input" type="text" />
</div>
<div>
<label htmlFor="email">Email</label>
<Field name="email" component="input" type="email" />
</div>
<button type="submit">Submit</button>
</form>
)
export default reduxForm({
form: 'registration'
})(DashboardHome)
但是我得到一个错误
Failed prop type: The prop `fields` is marked as required in
`ReduxForm(DashboardHome)`, but its value is `undefined`.
错误原因是什么?我做错了什么? 谢谢
答案 0 :(得分:0)
我将'react'和'react-dom'软件包从当前版本(v16.8.4)降级到16.6.3,该错误消失了。 react-dom和redux-form之间可能存在冲突。
答案 1 :(得分:0)
降级对我不起作用。
切换到
formik
如我所见,redux-form
发生了重大更改。 Demo example doesn't work