Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

333
Visualizações
Cómo pasar un argumento adicional a useSelector

Estoy llamando a useSelector con éxito desde un componente, que deriva un nombre de producto de una identificación.

 const productId = 25; // whatever const productName = useSelector( (state) => state.dashboard.dashboards.filter( ({ Id }) => Id === productId )[0].Name );

Sin embargo, mi selector depende de productId , que estoy almacenando en una variable en el mismo archivo. Me gustaría almacenar esta llamada useSelector en un archivo externo para poder compartirla. Intenté lo siguiente, pero la id no está undefined :

selectores.js

 export const getProductNameById = (store, id) => { return store.dashboard.dashboards.filter(({ Id }) => Id === id)[0] .Name; }

algún_archivo.js

 import { useSelector } from "react-redux"; import { getProductNameById } from "./selectors"; const productId = 25; const productName = useSelector(getProductNameById, productId);
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

desafortunadamente, la función selector solo acepta el estado de la tienda como argumento. Consideraría utilizar un enfoque curry para abordar el problema:

 export const getProductNameById = id => store => { return store.dashboard.dashboards.filter(({ Id }) => Id === id)[0] .Name; }

algún archivo

 import { useSelector } from "react-redux"; import { getProductNameById } from "./selectors"; const productId = 25; const productName = useSelector(getProductNameById(productId));
over 4 years ago · Santiago Trujillo Relatório

0

Parece que la manera de hacer esto sería así:

 const productName = useSelector((state) => getProductNameById(state, productId));

Este es el tutorial de cómo redux docs parece manejar esto. aquí

over 4 years ago · Santiago Trujillo Relatório

0

Esto también debería funcionar:

 const productName = useSelector(getProductNameById(productId));
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda