Estou com um problema para recuperar a chave key de um componente <li>
.
Quero recupera-lo para poder fazer uma verificação para saber se a sala está com o status on
ou off
.
Segue o código…
Fazendo um console.log em rooms recebo um Array com todas as salas listada para aquele determinado estudante, porém o índice de pesquisa delas são incrementados e não a chave id da minha sala.
export default function Profile() {
const [rooms, setRooms] = useState([]);
const history = useHistory();
const studentCpf = localStorage.getItem('studentCpf');
const studentName = localStorage.getItem('studentName');
useEffect(() => {
api.get('profile', {
headers: {
Authorization: studentCpf,
}
}).then(response => {
setRooms(response.data);
})
}, [studentCpf]);
function handleLogout() {
localStorage.clear();
history.push('/sessions')
}
function handleRoom(e){
e.preventDefault();
console.log(rooms);
const idR = rooms.idRoom;
if(idR.statusRoom === 0){
alert(`Essa sala no momento está fechada. Ela abrirá as ${idR.schedule}`);
}else{
history.push(`/room/${idR.idRoom}`);
}
}
return (
<div className="profile-container">
<header>
<img src={schoolIso} alt="school Isotipo" />
<span>Bem vindo, {studentName}</span>
<Link className="button" to="">Agenda</Link>
<button onClick={handleLogout} type="button">
<FiPower size={18} color="#E02041" />
</button>
</header>
<h1>Salas</h1>
<ul onClick={handleRoom} >
{rooms.map(room => (
<li key={room.idRoom}>
<strong>DISCIPLINA:</strong>
<p>{room.disciplineRoom}</p>
</li>
))}
</ul>
</div>
);
}
segue a imagem de como esta a resposta do console.log no navegador.