反应如何在 useCallback 中添加计数器

马特利

我想在我的 useCallback 中生成下一个数字 1,2,3,4 以显示带有列 ordinalNumbers 的行。怎么做?我没有任何想法...

 const [lastNumber, setLastNumber] = useState(1);
    const getNumber = () => {
        console.log(lastNumber);
        setLastNumber(lastNumber+ 1);
        console.log(lastNumber);
        return lastNumber;
    };


 const getItems = useCallback(() => Service.getwarehouseList(id)
        .then((res) => ({
            items: res.map((warehouse) => ({
                id: warehouse.id,
                warehouseNumber: getNumber(),//how to increase number every time by one?
                name: warehouse,
                warehouseType: warehouse.ramp_type,
                operationType: warehouse.operation_type,
                editWarehouse: warehouse,
            })),
            done: true,
        })), [warehouseId, Service]);
罗布科

map 函数回调获取循环索引作为第二个参数。
您可以利用它index来计算项目:

        items: res.map((warehouse, index) => ({
            id: warehouse.id,
            warehouseNumber: index + 1, // index starts at 0, so add one to start counting at 1.
            name: warehouse,
            warehouseType: warehouse.ramp_type,
            operationType: warehouse.operation_type,
            editWarehouse: warehouse,
        })),

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章