Я новичок в React js, в моем единственном компоненте я задаю имя поля динамически, оно приходит из API в избыточное хранилище, а затем из его входит в мой компонент,
Я хочу сделать один массив, который я могу передать API в методе Post, который будет иметь пару ключ-значение,
Вот как я строю динамические поля
<Panel.Body key={index}>
{
this.buildTemplate(item,index)
}
</Panel.Body>
В buildTemplate () я отрисовываю элементы html, используя оператор if else, и с каждым элементом я использую функцию, которая может дать изменение состояния этого поля.
if (['url', 'text', 'title'].indexOf(role) >= 0) {
return (
<FormControl type={role.toLowerCase()} placeholder={role} onChange={this.handleShareholderNameChange(id,item.label)}/>
)
} else if (['date'].indexOf(role) >= 0){
return (
<DatePicker id="from-date-dt" onChange={this.handleShareholderNameChange(id,item)}/>
)
В моей ручкеShareholderNameChange
handleShareholderNameChange(id,item){
var obj={}
var array= []
if(obj.id===undefined || obj[fieldName] === undefined){
obj.id = id;
obj[fieldName] = evt.target.value;
array.push(obj);
}
if(obj.id === id){
obj.id = id;
obj[fieldName]= evt.target.value;
array.push(obj);
}
console.log("array",array);
}
Мне нужны все входные данные с именем поля, как показано ниже.
array = [ { id:1, name:'abc', url:'xyz' }, { id:2, name:'abcd',
url:'xyz2sqssqsq' } ]