Olá, estou com problemas numa função de onChange do meu select.
Tenho esse estado e função que é chamada no onChange:
const data = [
{
position: 1,
productId: ''
},
{
position: 2,
productId: ''
},
{
position: 3,
productId: ''
},
{
position: 4,
productId: ''
},
{
position: 5,
productId: ''
}
]
const [dataConfig, setDataConfig] = useState(data)
const onChangeDropdown = (e, position, products) => {
const key = position - 1
const data = dataConfig
const productsFilter = products.filter(
(fill) => fill?.id === e?.target?.value
)
const media = data[key]?.media
if (media) {
data[key].media = productsFilter[0]?.media || ''
}
data[key].productId = e?.target?.value
setDataConfig(data)
}
Se eu der um console.log(data) ele trás o que espero que é trocar o id de um item do array de acordo o o index que foi passado, porém quando eu clico no botão de enviar os dados, eu sempre tenho o estado com o array de Data sem o productId preenchido.
Acredito que seja algo dessa função minha, se alguém tiver uma outra ideia de como eu possa refatorar ela para fazer isso de outra maneira.