Конкатенация самой переменной

Всем привет. Работаю с формами в react и двумя библиотеками - react-hook-form и yup Yup помогает легко настраивать валидацию полей, но знать эти библиотечки для моего вопроса не нужно. Вопрос такой.

Есть некоторое количество селектов, сделанных с помощью material ui Селекты мапятся из стора.

   {createUserRoleStore.rolesQuantity.map((elem, index)=>{
                                        return(



                                                <TableRow key={elem.id}>
                                                    <TableCell>

                                                        <FormControl className='customSelect' variant="standard" fullWidth>

                                                            <InputLabel id="demo-simple-select-label">Выбрать роль</InputLabel>
                                                            <Select
                                                                {...register(`roleItem${index}`)}
                                                                labelId='roleItem'
                                                                id="roleItem"
                                                                value={createUserRoleStore.rolesQuantity[index].roleTitle}
                                                                label="roleItem"
                                                                onChange={(e)=>createUserRoleStore.handleChange(index, e.target.value)}
                                                                error={!!errors.roleItem}
                                                                helperText={errors?.roleItem?.message}
                                                            >
                                                                {createUserRoleStore.rolesList.map(elem=><MenuItem key={elem.id} value={elem.title}>{elem.title}</MenuItem>)}

                                                            </Select>
                                                        </FormControl>

                                                    </TableCell>
                                                </TableRow>

                                        )
                                    })}

Строчка error={!!errors.roleItem} отвечает за корректное отображение ошибок, которое прописывается отдельно. Опустим это.

Дело в том, что этих селектов может быть пять, а может быть десять, и для каждого селекта строчка {!!errors.roleItem} должна быть уникальной, т.е это должно выглядеть вот таким образом:

{!!errors.roleItem0}{!!errors.roleItem1}{!!errors.roleItem2}{!!errors.roleItem3}

и т.д. Но как это сделать - я не знаю. Как можно при передаче пропса в компонент при переборке его изменить?

{!!errors.roleItem[index]} не работает. Пробовал по всякому. Буду крайне признателен всем, кто ответит на мой вопрос.


Ответы (1 шт):

Автор решения: Фитц Чивэл

Нашел решение:

error={!!errors[`roleItem${index}`]}
→ Ссылка