React useState не работает с оператором распространения при установке нового состояния, но работает с функцией обновлениJavascript

Форум по Javascript
Ответить
Anonymous
 React useState не работает с оператором распространения при установке нового состояния, но работает с функцией обновлени

Сообщение Anonymous »

Я новичок в реагировании и экспериментирую с реагированием-dnd, чтобы перетаскивать фрагменты в контейнер. В моей функции для обработки частей, которые были отброшены при установке состояния моего массива отброшенных частей, использование оператора распространения само по себе не работает и обновляет перетаскиваемые части только так, чтобы они были перетаскиваемыми последними. Однако он работает правильно при использовании функции обновления. Кто-нибудь знает, почему это так? При использовании оператора распространения создается впечатление, что после повторной отрисовки массив PlacedPieces всегда пуст.
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;


Подробнее здесь: https://stackoverflow.com/questions/798 ... e-but-does
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»