Ich bin neu im Reagieren und spiele mit „react-dnd“ herum, um Teile per
Drag-and-Drop in einen Container zu ziehen. In meiner Funktion zum Behandeln der Teile, die beim Festlegen des Status meines Arrays abgelegter Teile abgelegt wurden, funktioniert die Verwendung des Spread-Operators allein nicht und aktualisiert nur die gezogenen Teile auf die zuletzt gezogenen. Es funktioniert jedoch ordnungsgemäß, wenn eine Updater-Funktion verwendet wird. Weiß jemand, warum das so ist? Bei Verwendung des Spread-Operators scheint es, als ob das platzierteStücke-Array nach dem erneuten Rendern immer leer ist.
Code: Select all
import { useState } from 'react';
import { DndProvider } from 'react-dnd';
import { HTML5Backend } from 'react-dnd-html5-backend';
import Piece from './Piece';
import Space from './Space';
function Board2 () {
const [placedPieces, setPlacedPieces] = useState(Array(0))
function handlePieces(piece) {
setPlacedPieces([...placedPieces, piece])
}
console.log(placedPieces)
return(
{placedPieces.map((piece, pieceIDX)=> (
{piece.name}
))}
);
}
export default Board2;