#reactjs
Вопрос:
Я хочу сгенерировать следующие числа 1,2,3,4 в своем обратном вызове для отображения строк с порядковыми номерами столбцов. Как это сделать? Я понятия не имею…
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]);
Комментарии:
1. который
useEffect
? пожалуйста, покажите полный пример…2. @thedude извините, я имею в виду обратный вызов
Ответ №1:
Обратный вызов функции 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,
})),
Комментарии:
1. да! Я забыл об индексе в .map СПАСИБО