Мой компонент не повторно опускает содержимое

Javascript. Цифровое Кемерово

Перейти к содержимому

  • Меню
  • Форум программистов Кемерово-IT Javascript

Мой компонент не повторно опускает содержимое

⇐ Javascript
Форум по Javascript
1 сообщение • Страница 1 из 1
Anonymous
Мой компонент не повторно опускает содержимое

Сообщение Anonymous » 01 фев 2025, 03:48

Я пытаюсь создать крючок в моем приложении, сделанном в приложении Create React, но при обновлении константы, содержащей информацию, компонент, который показывает список на экране, не отображается снова, но список обновляется, поскольку Крюк возвращает его в консоли (стоит упомянуть, что при загрузке компонента в первый раз он правильно отображается, но не обновляется при изменении информации).

Список продаж

Код: Выделить всё

import React, { use, useState, useEffect } from 'react';
import { Table } from 'antd';
import UpdateList from '../hooks/updateList';

const SalesList = () => {
const { list, loading, error, updateList } = UpdateList();

useEffect(() => {
updateList();
}, []); /* If I add updateList within the [], it works, but it enters an infinite loop */

useEffect(() => {
console.log('List updated in the component:', list);
}, [list]);

const columns = [
{
title: 'Name',
dataIndex: 'name',
key: 'name',
},
{
title: 'Price',
dataIndex: 'price',
key: 'price',
},
{
title: 'Quantity',
dataIndex: 'quantity',
key: 'quantity',
},
{
title: 'Amount Received',
dataIndex: 'amountReceived',
key: 'amountReceived',
},
];

if (loading) return Loading...;
if (error) return Error: {error.message};

return ;
};

export default SalesList;
UpdateList

Код: Выделить всё

import { useState, useEffect } from 'react';
import useFetchData from '../services/api/showData';

const UpdateList = () => {
const { data, loading, error, fetchData } = useFetchData();
const [list, setList] = useState([]);

const updateList = async () => {
try {
const newList = await fetchData();
setList([...newList]);
console.log('New list obtained:', newList);
} catch (error) {
console.error('An error occurred while updating your data', error);
}
};

useEffect(() => {
updateList();
}, [fetchData]);

return { list, loading, error, updateList };
};

export default UpdateList;
showdata

Код: Выделить всё

import { useState, useEffect, useCallback } from "react";
import axios from 'axios';

const useFetchData = () => {
const [data, setData] = useState([]);
const [loading, setLoading] = useState(false);
const [error, setError] = useState(null);

const fetchData = useCallback(async () => {
setLoading(true);
try {
const response = await axios('http://localhost/REACT/my-app/src/backend/php/api/mostrarDatos.php');
if (!response.data.ok) {
return console.error('An error occurred, please restart. If the issue persists, contact the administrator.');
}
setData(response.data.respuesta);
return response.data.respuesta;
} catch (error) {
setError(error instanceof Error ? error : new Error("An unknown error occurred"));
console.error("Error fetching data:", error);
return [];
} finally {
setLoading(false);
}
}, []);

useEffect(() => {
fetchData();
}, [fetchData]);

return { data, error, fetchData };
};

export default useFetchData;
Мне нужно, что при обновлении постоянной lista , компонента, который создает таблицу, обновляется, крюк работает, но он не является повторным использованием данных.

Подробнее здесь: https://stackoverflow.com/questions/794 ... s-of-table
Вернуться к началу
Anonymous
1 сообщение • Страница 1 из 1

Вернуться в «Javascript»

Перейти
  • Кемерово-IT
  • ↳   Javascript
  • ↳   C#
  • ↳   JAVA
  • ↳   Elasticsearch aggregation
  • ↳   Python
  • ↳   Php
  • ↳   Android
  • ↳   Html
  • ↳   Jquery
  • ↳   C++
  • ↳   IOS
  • ↳   CSS
  • ↳   Excel
  • ↳   Linux
  • ↳   Apache
  • ↳   MySql
  • Детский мир
  • Для души
  • ↳   Музыкальные инструменты даром
  • ↳   Печатная продукция даром
  • Внешняя красота и здоровье
  • ↳   Одежда и обувь для взрослых даром
  • ↳   Товары для здоровья
  • ↳   Физкультура и спорт
  • Техника - даром!
  • ↳   Автомобилистам
  • ↳   Компьютерная техника
  • ↳   Плиты: газовые и электрические
  • ↳   Холодильники
  • ↳   Стиральные машины
  • ↳   Телевизоры
  • ↳   Телефоны, смартфоны, плашеты
  • ↳   Швейные машинки
  • ↳   Прочая электроника и техника
  • ↳   Фототехника
  • Ремонт и интерьер
  • ↳   Стройматериалы, инструмент
  • ↳   Мебель и предметы интерьера даром
  • ↳   Cантехника
  • Другие темы
  • ↳   Разное даром
  • ↳   Давай меняться!
  • ↳   Отдам\возьму за копеечку
  • ↳   Работа и подработка в Кемерове
  • ↳   Давай с тобой поговорим...
  • Форум программистов
  • Часовой пояс: UTC+03:00

Создано на основе phpBB® Forum Software © phpBB Limited Русская поддержка phpBB



Time: 0.020s | Peak Memory Usage: 4.78 МБ | GZIP: On

 

 


Яндекс.Метрика