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

130
Visualizações
¿Cómo declarar los accesorios predeterminados de ReactJS cuando se usa Redux?

¿Cuál es la forma correcta de declarar accesorios predeterminados en reaccionar para que cuando llame al mapa en un accesorio que se asigna de forma asíncrona usando redux no obtenga un error indefinido? En este momento, con la siguiente sintaxis, recibo un error al intentar asignar trans_filter porque los datos no están definidos en la llamada inicial para renderizar.

 class ContainerComponent extends React.Component { static defaultProps = { searchProps: { data: [] } }; constructor(props) { super(props); } render(){ let trans_filter = JSON.parse(JSON.stringify(this.props.searchProps.data)); } } const mapStateToProps = (state) => ({ searchProps: state.searchProps }); export default connect(mapStateToProps, {getTransactionsAll})(ContainerComponent);
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Así es como puede declarar accesorios predeterminados cuando usa la sintaxis de clase ES6 para crear componentes ReactJS:

 class ContainerComponent extends React.Component { constructor(props) { super(props); } render(){ let trans_filter = JSON.parse(JSON.stringify(this.props.searchProps.data)); } } ContainerComponent.defaultProps = { searchProps: { data: [] } }; export default ContainerComponent;

Además, hay otra sintaxis para declarar defaultProps . Este es un atajo, pero solo funcionará si su compilación tiene activados los inicializadores de propiedades ES7 . Supongo que es por eso que no funciona para usted, porque no veo problemas con su sintaxis:

 class ContainerComponent extends React.Component { static defaultProps = { searchProps: { data: [] } }; constructor(props) { super(props); } render() { let trans_filter = JSON.parse(JSON.stringify(this.props.searchProps.data)); } } export default ContainerComponent;

Editar: después de compartir su mapStateToProps , sí, ¡tiene algo que ver con Redux!

El problema es causado por su reducer . Debe declarar la forma del estado inicial y, además, debe especificar el estado inicial en cada reductor. Redux llamará a nuestro reductor con un estado undefined por primera vez. Esta es nuestra oportunidad de devolver el estado inicial de nuestra aplicación.

Establecer estado inicial:

 const searchPropsInitialState = { data: [] };

Luego, en tu reductor cuando manipulas searchProps haz:

 function yourReducer(state = searchPropsInitialState, action) { // ... switch or whatever return state; }

Para obtener más detalles, consulte el manejo de acciones en los documentos de Redux .

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