Al enviar, quiero llamar a una función y enviar datos como objeto de valor clave, tomando datos de una matriz de objetos
const [documents,setDocuments] = useState({}); let selected= [ {name: 'Profile', value:'S'}, {name: 'Pan card', value:'P'}, {name: 'Document(Investment proof) ', value:'IP'} ] function onSubmit(){ selected.map(data=>setDocuments({...documents, [data.value]: data.value})) axios.post(`api`, documents) }el resultado debería ser así: axios.post(api, {S:'S', P:'P', IP:'IP'})
useState y setState son asíncronos. si envía un objeto, use reduce.
const obj = selected.reduce((pre,curr)=>{ pre[curr.value] = curr.value return pre },{}) axios.post(`api`, obj)