“Как обновить массив состояний React” Ответ

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

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 handleAdd = (todo) => {
  const newTodos = [...todos];
  newTodos.push(todo);
  setTodos(newTodos);
}
Grieving Gharial

Как обновить массив состояний React

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

Ответы похожие на “Как обновить массив состояний React”

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

Больше похожих ответов на “Как обновить массив состояний React” по JavaScript

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

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