我正在尝试使用initialValues
加载我的表单,如下所示:
const mapStateToProps = (state) => ({
item: state.routes.members.item,
initialValues: {
id: state.routes.members.item.id,
member: state.routes.members.item.name,
description: state.routes.members.item.description
}
})
const FormControls = reduxForm({
form: 'editMember',
getFormState: (state) => state.routes.members.form,
onSubmit: (values, dispatch) => dispatch(ACTION_CREATORS.EDIT_MEMBER(editAdapter(values))),
enableReinitialize: true
}, mapStateToProps)(themable(MembersEdit))
export default connect(mapStateToProps, null)(FormControls)
但是在状态被阅读之前我得到了错误,说Uncaught TypeError: Cannot read property 'id' of null
。然后表单无法加载。有什么方法可以解决这个问题吗?
由于
答案 0 :(得分:1)
您必须确保state.routes.members.item
是defined
而不是null
。
在这里,您正在尝试访问的值
state.routes.members.item
(可能是null object
)。
你可以尝试这样的事情。
const mapStateToProps = (state) => {
let initValues;
if( state.routes.members && state.routes.members.item) {
initValues = {
id: state.routes.members.item.id,
member: state.routes.members.item.name,
description: state.routes.members.item.description
};
}
return {
item: state.routes.members.item,
initialValues: initValues
};
}