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.

Cómo crear una referencia para un div en un bucle bidimensional

Aquí estoy intentando pasar el atributo ref a un div, pero no está sucediendo, ¿alguien puede ayudarme a resolver este problema?

“`
const ref = useRef(null);

for (let curRow = 1; curRow <= props.row; curRow++) {
for (let curCol = 1; curCol <= props.col; curCol++) {
columns.push(

{`${curRow}${curCol}`}
  );
}

}
“`

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás intentando pasar la misma referencia a varios elementos div en un bucle, lo cual no funcionaría ya que cada elemento necesita tener su propia referencia única.

    Para solucionar esto, puedes crear un array de referencias utilizando el gancho useRef dentro del bucle, de la siguiente manera:

    const divRefs = [];
    for (let curRow = 1; curRow <= props.row; curRow++) {
      for (let curCol = 1; curCol <= props.col; curCol++) {
        const ref = useRef<htmldivelement>(null);
        divRefs.push(ref);
        columns.push(
          <div ref="{ref}" style="{{" minwidth:="" `${minwidth}px`="" }}="" classname="el1" id="{`${curRow}${curCol}`}" key="{`${curRow}${curCol}${generateKey(curCol)}`}">{`${curRow}${curCol}`}</div>
        );
      }
    }
    
    // Ahora puedes acceder a cada referencia individual utilizando divRefs[indice]
    

    Esto creará una nueva referencia (ref) para cada elemento en el bucle y las almacenará en un array divRefs. Luego puedes acceder a cada referencia individual utilizando divRefs[indice].

Comments are closed.