Для добавления массива в состояние (state) с использованием хуков React и TypeScript можно воспользоваться методом useState
для создания состояния и методом setCallback
для изменения этого состояния.
Вот пример кода:
import React, { useState } from "react"; interface MyComponentState { array: string[]; } const MyComponent: React.FC = () => { const [state, setState] = useState<MyComponentState>({ array: [] }); const addToArray = (item: string) => { setState((prevState) => ({ ...prevState, array: [...prevState.array, item], })); }; return ( <div> <button onClick={() => addToArray("Item 1")}>Add Item 1</button> <button onClick={() => addToArray("Item 2")}>Add Item 2</button> <button onClick={() => addToArray("Item 3")}>Add Item 3</button> <ul> {state.array.map((item, index) => ( <li key={index}>{item}</li> ))} </ul> </div> ); }; export default MyComponent;
В этом примере мы используем хук useState
для создания состояния state
, которое содержит массив array
. При клике на кнопку "Add Item 1", "Add Item 2" или "Add Item 3" вызывается функция addToArray
, которая принимает новый элемент в качестве параметра.
Функция addToArray
использует метод setState
для обновления состояния state
. Внутри setState
мы используем функцию обратного вызова, чтобы получить предыдущее состояние prevState
и объединить его с новым элементом массива, используя оператор расширения ...
. Это создает новый массив, содержащий и предыдущие элементы массива prevState.array
и новый элемент item
. Затем мы обновляем состояние array
в объекте состояния prevState
с помощью оператора ...
, чтобы создать новый объект состояния с обновленным массивом.
Наконец, мы отображаем элементы массива state.array
, используя метод map
, и выводим их в виде списка <ul>
. Каждый элемент массива отображается в виде отдельного элемента списка <li>
.
Надеюсь, это поможет вам добавить массив в состояние с использованием хуков React и TypeScript!