Quando eu traduzo a página para português o card não funciona para alguns times como 'Data Science' e 'mobile', pois os valores no select passam a ser ciência de dados e móvel. Com isso o filter não funciona, como posso resolver este problema?
Quando eu traduzo a página para português o card não funciona para alguns times como 'Data Science' e 'mobile', pois os valores no select passam a ser ciência de dados e móvel. Com isso o filter não funciona, como posso resolver este problema?
Olá, Breno.
Tudo bem?
Entendo que está tendo problemas com a tradução dos nomes dos times e isso está impactando no funcionamento do filtro. Isso ocorre porque a comparação está sendo feita com os nomes dos times em português, enquanto a propriedade time
do colaborador
ainda está em inglês.
Uma possível solução para esse problema seria criar um objeto de mapeamento para os nomes dos times. Este objeto teria os nomes dos times em português como chaves e os correspondentes em inglês como valores. Por exemplo:
const mapeamentoTimes = {
'ciência de dados': 'Data Science',
'móvel': 'mobile',
// Adicione outros times aqui...
}
Então, ao invés de comparar diretamente colaborador.time === time.nome
, você poderia fazer a comparação usando o objeto de mapeamento. Algo assim:
colaboradores={colaboradores.filter(colaborador => colaborador.time === mapeamentoTimes[time.nome])}
Dessa forma, mesmo que a página seja traduzida para português, a comparação ainda será feita com os nomes dos times em inglês, que é o que está sendo armazenado na propriedade time
do colaborador
.
Espero ter ajudado e bons estudos!