Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

124
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!