es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué no puedo establecer mi constructor dentro de una función?

Quiero establecer un constructor para definir el valor predeterminado del producto, pero parece que no está funcionando. No sé cuál es el problema, ¿alguien sabe por favor ayúdeme! ¡Muchas gracias!

Products.js:

import React from “react”;
import Modal from ‘react-modal’;

function Products(props) {
var data = Array.from(props.products);
constructor(){
super(props)
this.state={
product:null
}
}
return (

    {data.map((product) => {
    return (


  • {product.title}
    {product.title}

    {product.price}

  • );
    })}

);
}

export default Products;

enlace de sandbox para una observación más clara: https://codesandbox.io/s/redux-shop-cart-forked-19huj?file=/src/components/Products.js

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando establecer un valor predeterminado para el estado “product” en el constructor del componente “Products”. Sin embargo, en realidad no estás estableciendo el estado en el constructor. Necesitas usar el método “this.setState” para establecer el estado.

    Intenta cambiar tu constructor por el siguiente:

    constructor(props) {
      super(props)
      this.state={
        product: null
      }
      this.setState({product: props.products[0]})
    }
    

    Esto establecerá el estado “product” en el primer elemento en el array “props.products”.

Comments are closed.