Как использовать одну и ту же избыточную форму, умноженную на одну страницу? - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть форма с выбором ввода, показывающая дважды в одном компоненте, и этот компонент также отображается много раз.Проблема в том, что я не вижу отдельные значения для каждой формы в магазине.Когда я передаю имя формы в reduxForm (), оно отображается один раз, а когда я пытаюсь передать имя формы в <Field>, оно вообще не показывает никаких данных.Я прошу прощения за, возможно, тривиальный вопрос, но я плохо знаком с редуксом, и этот вопрос - мой первый здесь.Вот мой код:

let ProductForm = (props) => {
  const optionsComponent = ({ input }) => {
        return (            
            <label>{input.name}
                <select {...input}>
                    {
                        props.option.values.map(
                            valueItem => <option key={valueItem.id} value={valueItem.id}>{valueItem.name}</option>
                        )
                    }
                </select>
            </label>
        )
    }

 return (
            <form className="container">
                <Field component={optionsComponent} form={`${props.productId}-${props.option.id}`} onChange={optionChangeHandler} name={props.name} type="select"/>                
            </form>            
    )
}

ProductForm = reduxForm({
    // form: 'option-form',
    initialValues: {
         'Color': 'Silver',
         'Capacity': '64 GB'
    }
})(ProductForm);

ProductForm = connect(state => ({
    formValue:  getFormValues('option-form')(state)
}))(ProductForm);

Как мне установить InitialValues ​​для каждой формы?Я хотел бы установить его для первого варианта из выбора ввода.И последнее, как мне правильно получать значения из магазина?Является ли эта функция getFormValues ​​() правильным способом?

...