DEV Community

Discussion on: Substitua sua instrução switch e vários "if and else", usando Object Literals - [pt-BR].

Collapse
 
danielcnascimento profile image
danielcnascimento

Interessante, mas tenho uma pergunta quanto ao uso de objectLiterals:

Tenho um problema, uma tela que pode renderizar 2 layouts diferentes, portanto, as props são dinâmica, pelo menos os valores são.. pois os nomes continuam o mesmo.

Pra isso, imagine que essas props possam vir de 2 custom hooks diferentes.

Na prática, o uso do hook correto dependeria de um ENUM que com seu valor, busca as props certas, do hook correto.

Como não é possível chamar um hook de forma condicional, aparentemente Objects Literals é atraente, já que ele é uma operação chave e valor. Com isso, seria boas práticas criar um object literas que retorna o custom hook correto?

Ex.:

const useFruitsByType = ( fruitsByType ) => {

const fruitsHookMap = {
banana: useBananaProps(),
apple: useAppleProps(),
grapes: useGrapesProps(),
}

return fruitsHookMap[fruitsByType]
}

const {
fruitDescription,
fruitOriginName,
...other props
} = useFruitsByType(banana)