Дочерний компонент не обновляется всякий раз, когда я устанавливаю состояние в reactjs

На самом деле я хочу обновить свой дочерний компонент

const callCoupon = async (promo) => {
     /// result = some api call;
     setpro(result);

}

const discountlist = pro.map(dis => 
            <DiscountGrid 
            key = {dis.id} 
            id = {dis.id}
            pname = {dis.pname}
            prdPrice = {dis.prdPrice}
            discountValue = {dis.discountValue}
            />);

когда я нажимаю кнопку, которую я использовал для вызова этой функции, как это

const applyPromo = event => {
    event.preventDefault();
    callCoupon(promo);
}

вышеприведенный работает с дочерним компонентом

и еще один способ установить состояние

React.useEffect(() => {
       preload(); 
         
    }, []);

const preload = async () => {
   const data = await some api call;
   callCoupon(data.discountId);
}

когда функция предварительной загрузки вызывает функцию купона, дочерний компонент не обновляется, я думаю, что это может быть медленным

пожалуйста, помогите мне преодолеть эти вещи заранее спасибо

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
Приложение для отслеживания бюджета на React js для начинающих
Приложение для отслеживания бюджета на React js для начинающих
Обучение на практике - это проверенная тема для достижения успеха в любой области. Если вы знаете контекст фразы "Практика делает человека...
Стоит ли использовать React в 2022 году?
Стоит ли использовать React в 2022 году?
В 2022 году мы все слышим о трендах фронтенда (React, Vue), но мы не знаем, почему мы должны использовать эти фреймворки, когда их использовать, а...
Как передать состояние или данные в react-router v6
Как передать состояние или данные в react-router v6
react-router - это лучшая библиотека для работы с маршрутизацией в reactjs. С помощью react-router вы передаете состояние или данные от одного...
0
0
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

может быть полезно для некоторых других

я просто обновляю зависимость эффекта использования с длиной состояния.

React.useEffect(() => {
       preload(); 
         
    }, [cart.length]); // cart is state

Спасибо

Другие вопросы по теме