反应最终形式的拆分字段值

时间:2020-09-02 20:31:11

标签: reactjs react-final-form

我有一个带有react最终形式的react和redux应用程序,其中我有一个名为'cars'的字段,它是一个select字段,如果数据变脏,则在间谍事件中引发一个Submit事件。值和东西都很好,但是我需要将其拆分为类型,以便表单返回类似coupe: ['BMW'], sedan: ['Audi']的内容,而不仅仅是返回带有诸如cars: ['BMW', 'Audi']的值的字段名

{
  type: "Coupe"
  value: "BMW"   
},
{
  type: "Sedan"
  value: "Audi"   
}

也许有人建议如何对其进行突变,以及在内部反应最终形式时有何建议?还是应该在减速器或传奇中完成?

1 个答案:

答案 0 :(得分:1)

假设您的表单数据为

[
    {
        type: "Coupe",
        value: "BMW"
    }, {
        type: "Sedan",
        value: "Audi"
    }
]

您需要将type的值转换为键名,这样您就可以

[{ coupe: 'BMW'}, {sedan: 'Audi'}]

您可以使用Array.prototype.map()(在您的提交处理程序,reduce程序或对您更合适的任何地方):

const formData = [{type:"Coupe",value:"BMW"},{type:"Sedan",value:"Audi"}],

      remappedData = formData.map(({type,value}) => 
        ({[type.toLowerCase()]: value}))
      
console.log(remappedData)
.as-console-wrapper{min-height:100%;}