“Как обновить состояние с помощью массива реагировать” Ответ

реагировать, как обновить массив состояний

const initialState = [
    { name: "foo", counter: 0 },
    { name: "far", counter: 0 },
    { name: "faz", counter: 0 }
  ];

const [state, setState] = useState(initialState);

const clickButton = () => {
	// 1. Make a shallow copy of the array
	let temp_state = [...state];
	
	// 2. Make a shallow copy of the element you want to mutate
	let temp_element = { ...temp_state[0] };
	
	// 3. Update the property you're interested in
	temp_element.counter = temp_element.counter+1;
	
	// 4. Put it back into our array. N.B. we *are* mutating the array here, but that's why we made a copy first
	temp_state[0] = temp_element;
	
	// 5. Set the state to our new copy
	setState( temp_state );
}
Annoyed Aardvark

отреагировать нативное массив состояний обновлений объектов

let markers = [ ...this.state.markers ];
markers[index] = {...markers[index], key: value};
this.setState({ markers });
Blue Beetle

Как обновить состояние с помощью массива реагировать

const [array, setArray] = useState([1, 2, 3])

// Add
setArray(prevArray => [...prevArray, 4]); // -> [1, 2, 3, 4]

// Remove last entry
setArray(prevArray => prevArray.splice(0, prevArray.length - 1)); // -> [1, 2, 3]
Wild Wren

Ответы похожие на “Как обновить состояние с помощью массива реагировать”

Вопросы похожие на “Как обновить состояние с помощью массива реагировать”

Больше похожих ответов на “Как обновить состояние с помощью массива реагировать” по JavaScript

Смотреть популярные ответы по языку

Смотреть другие языки программирования