gpt4 book ai didi

javascript - React.js 调用组件进入setState

转载 作者:行者123 更新时间:2023-11-29 23:15:51 25 4
gpt4 key购买 nike

我正在尝试制作 toastr 组件。

https://codesandbox.io/s/62n81oy4pr

在 index.js 中,this.setState({ toasterText: "Room added to summary." });

从这段代码中,您可以根据需要更改 toastr 的值,当您多次单击该按钮时, toastr 会一直显示,然后在最后一次单击后 2.6 秒后消失。但是,当我将组件(甚至是 div)设置为“toasterText”并单击按钮时,

像这样的, this.setState({ toasterText: <Component>asdfasdf</Component> });

toastr 一键出现,再次点击按钮消失。

我想我可以用 componentDidUpdate 做点什么,或者我只是不允许在 setState 中设置组件??

抱歉我的英语不好。

最佳答案

它“消失”的原因是因为组件被重新安装(销毁并重新创建),而不是在您的第一个示例中重新呈现(文本更新)。

虽然这在技术上是可行的,但出于多种原因(您遇到的问题就是其中之一),它被认为是反模式。我想不出任何你想要采用这种方法的理由;只需坚持更新文本即可。

如果您真的必须实现第二种方法,请尝试向组件添加一个key 属性。这应该可以防止重新安装行为。

关于javascript - React.js 调用组件进入setState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52813783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com