首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >每当我在reactjs中设置状态时,子组件就不会更新。

每当我在reactjs中设置状态时,子组件就不会更新。
EN

Stack Overflow用户
提问于 2022-04-23 11:24:25
回答 1查看 403关注 0票数 0

实际上,我想更新我的子组件。

代码语言:javascript
运行
复制
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}
            />);

当我单击按钮时,我通常会像这样调用该函数

代码语言:javascript
运行
复制
const applyPromo = event => {
    event.preventDefault();
    callCoupon(promo);
}

上面的一个工作是子组件。

另一种设置州的方法是

代码语言:javascript
运行
复制
React.useEffect(() => {
       preload(); 
         
    }, []);

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

当预加载函数调用未更新的子组件的优惠券函数时,我认为其速度可能比较慢。

请帮助我克服这些问题,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-24 09:01:02

可能对其他一些人有用

我只是用状态长度更新了use的依赖关系。

代码语言:javascript
运行
复制
React.useEffect(() => {
       preload(); 
         
    }, [cart.length]); // cart is state

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71979188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档