在我的应用程序中,我确实获得了API响应,并通过数组映射显示了约100个结果。对于每个结果,用户必须添加一些数字。现在,我正在工作useState
,它需要一个初始值。而且我有一个useState
的接口,但不知道如何正确利用setData
来添加/更新值。
欢迎任何想法:)
interface IData {
[key: string]: number
}
const [data, setData] = useState<IData[]>([]);
function addData() {
setData([...data, //how to add new/update]);
}
答案 0 :(得分:1)
interface IData {
[key: string]: number
}
const [data, setData] = useState<IData[]>([]);
function addData(el: IData) {
setData([...data, el]);
}
函数addData
正在使用传播运算符...data
复制先前的状态,并在末尾添加新元素。
我为此函数el: IData
设置了参数,但是也可以从词法范围中获取。但是通过这种方式,您可以调用addData({a: 1})
并将元素添加到状态中。