首页 > 解决方案 > 以 redux 形式设置 initValues

问题描述

我想在 redux-form 字段中为用户设置初始显示值。它必须是动态的,值由 this.props.editName 给出,它由父组件传递。我知道如何将静态值设置为 initValues以 redux 形式,但我在从 this.props 设置 initValues 时遇到错误什么有效:

export default reduxForm({
    form: 'editTeamForm',
    initialValues: {
        name: 'India'
    },
    validate
  })(EditTeam)

什么不起作用:

export default reduxForm({
    form: 'editTeamForm',
    initialValues: {
        name: this.props.editName
    },
    validate
  })(EditTeam)

浏览器中显示的错误:

TypeError: Cannot read property 'props' of undefined

标签: reactjsreduxredux-form

解决方案


无论您在何处渲染它,您都可以将 initialValues 传递给您的 EditForm 组件。

<EditTeam initialValues={{ name: editName }} />

编辑:如果您需要从 redux 获取您的 initialValue,您也可以在您的mapStateToProps函数中处理它。只要生成的道具被称为 initialValues 它应该工作!


推荐阅读